Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(core) oauth infra for staff dashboard #780

Open
wants to merge 17 commits into
base: gql
Choose a base branch
from

Conversation

adit-bala
Copy link
Contributor

No description provided.

Copy link
Contributor

@maxmwang maxmwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feel free to try deploying to dev!

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

@asuc-octo asuc-octo deleted a comment from github-actions bot Feb 22, 2025
Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

@adit-bala
Copy link
Contributor Author

/helm-diff

Copy link

Helm Diff Results

App Chart Changes

1 similar comment
Copy link

Helm Diff Results

App Chart Changes

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

1 similar comment
Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

1 similar comment
Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

@adit-bala
Copy link
Contributor Author

/test

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

1 similar comment
Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-backend, Deployment (apps) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-backend
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: backend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: backend
            image: docker.io/octoberkeleytime/bt-backend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 5001
            envFrom:
              - configMapRef:
                  name: bt-prod-app-backend-env
              - secretRef:
                  name: bt-prod-app-backend-secret
            readinessProbe:
              httpGet:
                path: /healthz
                port: 5001
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-backend-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-backend-env
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    PORT: "5001"
    URL: "http://localhost:5001"
    BACKEND_PATH: /api
    GRAPHQL_PATH: "/graphql"
    NODE_ENV: production
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    REDIS_URI: redis://bt-prod-redis-master.bt.svc.cluster.local:6379
    SIS_CLASS_APP_ID: "_" # TODO: remove from backend
    SIS_CLASS_APP_KEY: "_"
    SIS_COURSE_APP_ID: "_"
    SIS_COURSE_APP_KEY: "_"
    SIS_TERM_APP_ID: "_"
    SIS_TERM_APP_KEY: "_"
bt-prod-app-backend-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-backend-secret
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      GOOGLE_CLIENT_ID: AgB3hUixkfGaiuSE0rwwFN2TTAj/GI8cZpT5lTBofHfJcqtX1z9XnW8zDE1prfKKv0wYr7TeyXC3qe4UuYyOjZfdpSnNjjkJ0GW+LFSO72jmsQM4PP45bv7wtrTMARg7vHqMjIfvu+aJ/LvZ+vD0X3J7eQ9T1cniVS9Wo9rafGDWVFCg9cp/NyhQLTjPCHrNj+hw9GWj9uo71tHKs+nNywsUyyKTWSya5wIAqiXSREj3qjOGKXVJH3tjid0KpDrPnL4YZb6L9bc1GSFoZixAJMZfXi7kYRhonmcAQtnKzWyxvTDINXZ9epktYJKgfBH9ogkcEBv2mLznbyWJDFxQ4niCn3G/2l8XzPaf4TuHKDywDI1VLPovSLplIYR69YnwKJGNpZovdei44HMjZWtDY5GB235vzfCSQq3RyjXPG4bFF1dA7oKmuHX1Nfnw9Ezx9+xNtXRDwhqaaikqgvboFfDPl6+5MUYqTg2GlWZ5B0BncjhNofwJsyEl3B2VL/04gjm8YvYZqHDyeuGZh9CwDdixhNFYuN5ZqYDmCuVGA3vJrkEwT9XVfZ7+g0v/gQWYghOPtepiosfETH9z3K2xOI8mQw2h1yAZktRbMNJoryrcwLnX5PZ5zPVn/EVHcnm1BTQhR1NXts9fgwCskT4XUg6JjgwuhigLi3fhJmyLlx3d+SBiyOhD/a9yKMwTslHsU+ui7RbBgqC0FvFDF4cHpTtALZaxqG3lBcYuZdNY/PUxWQe+T1fYnLRmx5c4KrfU40pb61t/VRQ8Tcx2Vl/+4wozaBMqEFd+uU8=
      GOOGLE_CLIENT_SECRET: AgAIVj8nrm9khe6045NX8wLNIXZcWKPViouEEAvaHYUsulEyX738L+6nitd/YG99U9pRCAdErTRCNG9gEo4/2nLyOaWRW0jJu4bfRc+gUCYOOU0Y0znYqGmlGdFpxjdNT3eFkxkkLDI4T6f+FmLBoTRHb2bIFv9m8263ESuVvMfqfeDJWOgo+5LULNBLHWUABFE9KinozrS7MtmVm+GP6QioCG+2PsOsykRwyLj+NZqhwiYcRKNtwEOV4t21mFeWORxAxSAjFxALjklxeCyDp+XvkSglbT8G70DQsqtMu6xeFjf9ID8GS0zpVf9vjXv8Up840BgM3cHNlTgETLDhQdXzGfo/Rqj1CpekgGLRQOElkYACmzAOyLfg1ws4JiHGaQhlFlnEd+5B8RqIFVy/wgYxK4mY6XUGPktUzW5+SiVCL8Z9rjfYWg1dMgFrY9z2t3rj7EUvGhuQGc/GPSbytbN6p0LfuJmNPOmt8EC1cf/7+5Cof4XuR2zC+9JFYiBiBupmbyrS4win96DDWrRQROVSELb/LTvRiTYwBAeHpPZgkxexc9jEZS+iCC1PlRP3+vuGKAdv7wMpN/kjAe+vJxo0QSVudP1/QJZP6ynGGED3Y1Chqe3KsEeI85q0nUkth29bke+Z6kEHJHSGIMatDx1rET1UsxgWrvtrE2e8j7MYs3RGHyygz54/yFFONbxuszbs3Zs44xOm6lXOZ0IsFfvpPph7X97MfaM=
      SESSION_SECRET: AgCDXmthhXWEjKsbJ/LzWtONKeqPciM30Hih2NXY3hJPHQRyKkOBQP2JXfYkLqtFhLjQB7PgYBj/UfNsAMAapii+ETipPZatBVd4GVFd9/3JseFwqzUTFI7z3LlFxDYqatArkMxksuccH0j0Uuo4wOIAJD9rhYI06001GBOqUIC4aS/oICp0IGBXedEqQmpik10QIR6CiJ26HvkCi2KPp3mvrgUrS9bP7Mw11xMfH4+dN/I2FOFtRVyX9T2eUbVT8JliAepJFFexoudFY5EUdDJ1Vtos1Beb5IwFWnRnrcoYkCSPuIwjkWE2kxPO9X87PwupjzP3UjEGJUFzFzxUqEVNNpFxZsMPVxeYnrNw09oZpIiTxcxrWQAKPh3QNDdQ2cuSMwZEX8NSN1Q0b8Je2l21oKgeMwR4sX4oR+45ucW3h9tcVz7s1BwSmBxwwR2goyiTzFoTMQ6d6lH9d16N/ZTcrjlj1mRlQLuZGz5gQLRY37p7OE7XvIHVvU3+r4fDVhdii3YHak4qMF+mEYuBRl1DyJzj6810i36NzQ44EwWuKs3VOfmnIa5Ov2dC1kSrwV6R/6h84KpfmH/Rtl2WXoFmDq0g1N94i80UxmbrCe/82j+oShZBEpPaf4SMGx/vhqE5cFUyEOAKClPbIwDfJCk7d8H5OAlQwztc1LnRt9iZa5vlnipYQ+33LlCecLE7Rfijdxe9d+1dvk1i
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-backend-secret
        labels:
          app.kubernetes.io/name: backend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-backend-svc, Service (v1) has changed:
  # Source: bt-app/templates/backend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-backend-svc
    labels:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: backend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 5001
bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
+             helm.sh/chart: bt-app-0.1.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-env, ConfigMap (v1) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: bt-prod-app-datapuller-env
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  data:
    MONGODB_URI: mongodb://bt-prod-mongo-mongodb-0.bt-prod-mongo-mongodb-headless.bt.svc.cluster.local:27017/bt
    TZ: America/Los_Angeles # for tslog
bt-prod-app-datapuller-secret, SealedSecret (bitnami.com) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: bitnami.com/v1alpha1
  kind: SealedSecret
  metadata:
    annotations:
      sealedsecrets.bitnami.com/namespace-wide: "true"
    name: bt-prod-app-datapuller-secret
    labels:
      app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    encryptedData:
      AWS_ACCESS_KEY_ID: AgCpxxcvZf4RfcFlEi4Wf5QXXEMvIRW6FfR/OyJJBMqPYGTVQJUpOSV5DsjnWKYgftlpRK0obx8L4QfekVz7k50s4wogiZewPNYxlzeBQE0o5Ov1wIrtMlvZMR7V4pEKrBJxLHhP2YnURS3aPZrHov9fuUpdjd7Bkx+Gw0TSCHBsl3jO4SpYwc4BtzHQ4o7gU8nvACCBaYlYLhTwNgQe91IDUs2t7VIMvmK4cTyjDbqeLzMaPMwnxfn2wsKV+I6TtWIK7PUDfTB7PdsWCM+LxNw91z6FO3OdTKbPnOPmHStZjAndpk1ToIL84IcRjsrv5N6Far5sZJX+4FPWC9It3x1/+5uAXdkp/Jp/nkEXQDettdCB/WnGqME2hQ3gyzrgRLujpnOrRPnj6yWLoo2lGROJFeF1Wgn7Ug57wnnisp7QDMXOgaytR+4BV5SVPpBeho2doCRJZA8HK7DoaBCQvlf/tb4v4SW93VUGX0Ioxsa0rfPva4bqIL+hEt/l8RK4yjBhn/FMRIKWAubI7wID9ANCIpXwD4P/6UxND6CBUBAJ0k4pO9Yb0Eu3oWRfM/zL9/zo2p0mkLID3Ings9oGyKPbS0/aIGmMpsg0lERx0kHpiVhOJxN3dXuybDgpYpeNrUrW5EgICZAywWooiofJi1+G/oM8dcatGZ29xLdAfNuwoFaGe3zDUDmOWHN8NfwJeBX6gQ9outuwa+RW3JLUSUs+F85JIw==
      AWS_DATABASE: AgA+ym6XhzfMTLSbnC0lHaBZPapiu+vgH2a82vHdWBpspJQL2rG43rhMBP4q6TOy4+XUE9dBwBe3qcK2slBPWFHu6j1hxoy7yz+P54oqHRzl9CbpGSJONmzDO9i1q0gRoiwCOAMFPSTgydmpRnIbdOMRFMD3i+ddvyHnrWjhiasGLFn863ft0zKwOMgbxVl8xn3RoTFtK7ilb4dOz5iC/QsEcv/G2C7n4KQb43H5A8wmTxxEza3HAhFGBl45xbxduo2nh97zP2b8+9kNz1lEyFzeToSVPPsM1Xz7FomljAx2WlpwTadC5Fv8OCeKMn7L0svL1HfEG+w+RxsFnzvV/h7npD3zWltyalN1yxMWzkXPZSiwmm6KcWKOn53yCTWMyf8EoOPcgJPDt0HTHvKO/6Kue7LZgMgtcZKci0PHossyEnRKLx6aXvZaB0HjW473IO2c2IwZsAuKkDpkQPW9eZUrB5SQ+6G7iNKzVwEX2wa5SRh0IRBZSQRBzQGe0THm4SePidhaqqgX8jY6BeYgXxdTooXTmmyLEczySaJBHsyqrMjnSbJqUO3oyKqbHtm+y4WafUZwnEW9MEkjPpBKcqYwqsAStFjeSAbR79eE6PknK7Z1iQLOCoGzK3V2CvoDczWLsIHW5K3WmJ2wTXrN9K9UKUAaztlE3GArV9dS9J6CaFvSBqYCfMq8PVnx5eORc1ljks6s9NuV51RnTPkc
      AWS_REGION_NAME: AgBJXCzxFhkKDBlV8aaVfJsm1DHUi2GXMjQZuc3eGG1krS5liCrcNILfz9pfj2uKV6OhhpOEsQWjAP5sJau6vs+6kvJhHx1UduINseq9vGiHnulNcYWg9257ta35wjMm77lNqk7dj9aJEt95Ml+Ore4KE6KsQuV7yogRXBpNcO6TsfkynWJVrUAN3TNilml2qbhtwMyY+Xc/jB8jPxpM3XDbCd7zjxcbgR6/9nrZjNj9IYjm8I41RVOTn9Ucfr9AkgtqNkwaaB5G5oShD+N7wekH6xkZq6j8pIcAzBGVLXZJQTxhdRvNkUkhosRC6VPMO976DtQs7rBQEz8Di78AqjgNc9uJ9eTOlHy62lHx/MTZnh7vbBJtCQ5gQEyGelZnSXSn+ioIhSlQODZcwTiH6pmRtwVOpbhn51/JwwvC4qjIZZBxhfBa5L7xdlbpIScQjXlnrWEVhi10OnBUGDoFcTpcL2fsZUkNAu/7sZBsh1nplx0vC8jakJPHfPy5lidqO30fSltewiFvWIKrt3pt76NjE8bHaUxSu1419qVheyWQT1Gs6jNMbw2BHh+ml1xZgDP3cM7Nk+ko8zvlq2hCkyyk/mmB8u++LLevtzJpG73FyAAzgfK2rtaw2RkunhyPxKGLM9SjXhtMCddYh/g80k4k6vVyd7Aq8QKUSmiA1eq8T1fIgsacuB0MaJL1vYB4u1/oDCgQwwPOcI4=
      AWS_S3_OUTPUT: AgCGFcrI8BrywEc0os0MaYKfEQox9MDPwkvh6juU7Eq6wrbcet4ZYQGf1JeJjVmMs9GIAb1J24NVkoFL18CWsKl5XWXvN42lgqcoxwY61a2ybdVYA9jBgt6wiNYz1XNZ78t5XN1P+fpvnABNTU0gjGgzxwqosKyiSICvRM1sQ+ffYhdT8vS12TXj4SLuC+fJF8+rHXaODqRYzTUVO6ah0AmaQHzOLH/4XnsU9bzOssffFCB3aMAkEU4i+e9XxGlLeTFwL5HMKTI6siulQ0jjeUHdaRvrYSDxxIqYwjrV2LweH/QIljbp9Jai7+K09u6ETCvlA1pTY407VOb4UmplYJTSXFES/5v9IauaFPFAZjRepbSjqe5cW2nHZeEAGGfZ+AKScWkZGMrC3G4TjBNXe4z051W6HXtrQBJJNltN0+UQGet+iCEDUHwVum0tExD+fVWk2h5EtDS6j13wlyz44OdkwtZUpPdVJYnVg/5rN7YcczEFHPCvu8hQb/rsaLk+W7MseeXhZcQb1ngpwcFAWmAabwHaoeF5CaT4UAOliPQxUj05TfYjp4zORJvIvyM0D1SpCdgCbbNgjYuOboe73p0a571HUeUsmAlsCd5w86w0RmYj8UHJ2PCCjB6Ab0Kgic5W26UTHJaJo2nqIDpGyiPBi15S6/MmufJBS1gtHBMOUZ0rUi1988+Z9xGe4n8uYKPAXNfOMFGzQ1ihsYglxuaPXBtB7tWm+vO6MxQ6N/8Mr+rK481t3R1/ZE4ciebNer1NxJZLGA==
      AWS_SECRET_ACCESS_KEY: AgCqL9rnPz1oUHqlRGusAjKUXfUUcXZP65aUyULdtp2b2KK8w1fpijrlBfHSFLvKAhsYOdgvqIEQnV93J+Hy1dekD27SlI8NEFOca8qyze/Kbyy27v6ANXU1LO17D56grsZ3BLt2m+Zl6TM2XfT8+6ybD8je6yO8+U0XHOvoHrONRVZ64Yovq/Yrth1EkeR5hqtH0NMINNR7DJmWkKXYu13jRyij+v2h3+Eh0KTsiSVRp01Pmm2jA+fsZS8KH9SObkSDEdekdxrZ5eVx+vahHOpp1kqiW+P0UhUqgJIViaF7jff1S3qMyARvo5KmMapbtX5tyaFASxrn0bGqGN6OFXSlJCD5O3lbD6OF4Jfm3diu6ZCMdHxTkg1MdPJ0NX6OtxJ+Z5/+K1r1+XuMfmtvTI9Sn6/Z4LGIXTnzhJdUFt0Mdo73XxO4ozvOuaNaHdwq0i2unBMw5iSn4Xd8VyTM219KNhYXSIl5YJlHs9X3ZSEqYXWu94XfZ/8Y7hBY6hnHP+TSSuu/WjFVyyy+EAlDvNgb3vlk3Nzdfvun/18A5AFA+9dg+dNWc7BjzMBVu0ftGNE4Ru/DgAr13/eM9DPoPZF28d0BC96BCKsGP8JfVoor4iF3RzF+PILV/XHTCOTKsLm1RWjWWieA20DGiPj3gxHj8pqu1p0BOR/hhthIXxetP7Kgua9G88vxabiRjqaKvg2vYlbE8T4LGCle1wGYiB3VR/Te02vPHiRPn1LA4OCDc3ImRyOslc9Z
      AWS_WORKGROUP: AgBZcJvhvYaHbZ09CdY9bVe66dfyCqtueATHy4CBvOSknjR/JY8Z+gra8mjigrfcGICsi4eMmK3wr8WLiVLx+/25SNB5sG0nduy58lltUXIwAEykWgnRjuycCCt50HZJS2Dxpoud4sqHTbhiqB2h5FzMnb8xtwLFN0sVB7jRHCoABj/o5l9Iusrx+nkmpsA/DGf+CeMrNGFYNWR3peQB/ei9fPFpn8oZVpTMhnpuTiP5oGz4uHfcl0jxXqF1AZpuaQkWRbK2OOaVpO+soSCWo3Fx5isdNe2bIvbL7FhFR4IrF2j3Dviz9u1yPSkUo5KD7wBMbOjWitySJVKCLJX15wcV1MdOJRTjz7iRsli3oAjxh2JlZM18qIk5c8Itpv1xhfr0RyU8/z4dvSVGaXM7MSnxAk4kv/0rc7P5DBlnz2WvJKDla6fb5pkyTKBEdauRxZMe4K9Z+dGcmgpha1rtPKRzOrZEk6rq9HXI3uCvv57HkMukorxv3b1Rv7Hwg20jdKiKbKIQ9LAYZ1N1TIUjLzxPBu+QamQ0Xs4Va7IgFZ6UngnHw7spAT4hOskTt7x3JpNucGSdtOObzdrvaClC0FtzKHRdM8Jr3N603lXjp2xvDIvC7N1WrrkF7e0eX26gzXwj4+TIMLinPbVOJ+6rlMihXQu5F4pwUoECrZbUndCjYxbfv0+ALriTlv9kTbOAsokejH4oc3P93Q6MgJav0yLa6SOsMyPuHQCT
      SIS_CLASS_APP_ID: AgCdRWUCepeweJJroh8McWWa8cdTsT8NYoAm2/wJtN2Bzqtr3Og9NJEE4pPbRbAe+c3ovmtGlARbbxm4Cek3P3UBxecekNZgv60eil/b6XJ8LlSVhXtPUAzam4250+SkH84sTLbLmGqlQewMJBOkrH07rAeCbdoGQdT/0kRGc5laGLH6Q5Sm2QAJxz2eY8V1ow7UX9woKk8BAJILrNzCr53x+W520P/khyuDQxpaSXpPR0XIPH3OjBfO8rhYqpNIQjmoUmVVixepkmOk6DPGEbQIXCQWaQiYXMsHoBexImXSkWjTvy1FrqPPjEx4fIGeq/nBQUOCSN1jRU4g+WDtV87FTed6Feo+SPzJ1uWVo5BEhYBK0RZIxG3lr1hiGTgX4ZOx8ChJ0OjgNpTY2QLn/3/L37AA2zjLpszXf7V/vvcKdSoo27bMieBOPw1mRZ0D57xpW770BEDVnCcp18jMRxzev7bELtkCS60vMhYxGl5VvcJEKBdQNVPEuoCiCuXWRfK051tg1Ix4SRyAlFK2fshPdQUNJ0y06J/t4qFzBezTXE3sugbkpfc+PawHtLmWz7RtWbt9sN8GPezXM4xsHNQ0XFjJJDO7ChcUwT+jDFk1YIEFLYhb0jchveAyHDDSbe4KKHtnwYI/1D/179gIlH+vZZ3Upot9ZvlB5NS7cNofRh0kSN/f2BzuqNZx36Hl3T+71fS206Qo8A==
      SIS_CLASS_APP_KEY: AgCRMKMYMAEW0M2gGy7stBPC++L/Z3uW6TwqNmPfYz/6S9eBkXWernUOdcaEXa/9amGEKrIhapFGCrKjIKNwM6T4yIqAm5I0JpuoIQQm14yB1GlE+8mG4IYrqyZ2EH9e8Ts0x2YPBfAXymHljo3H+tH4CtUvaO5HYJQwAFvo3yJot5tU1Fr+0rDxtDptwgKdw+2L2kfK2yHH/cccpunnuOyNZeVsNZMhIjE0XAzZdFmwsoLDcGO8q14bx//GxpaJqcSVoaItgKuCICjhPDvZPSmr5iuTRyjtE05bE3yhZeobM1vNt1oRJ4emxF/bC1sKhsiCMrMhC6gykEhtbWsu8M1E5do0qMjKpJ24dDh2mbamOuRjTCrBuuOmXvRJ9m4PeusHJ9+IPSg4JKOiiVwuNvbk6XadagkstYazIrpVgsOohuruKYjnu/KyHhF0i2siyZfiNAlH+667gzy+jDJAA8L8FGOT/FmvkyrarSCiyjCz+keiPODrLsWYCCVlRKiy6ups8xAMRQ38QVgt+z7smHQL0DAJi7qIlcOyFz+2qcrNO9j767kWyJ7oXS5YiP46rFuqejSlSn6rKDa5zZzB1kWJIGjJmEIEvjRqt9LHckgBDs6UWlhXoKD+3SM1ppJqXk3F4kRnJ25OFECt5OP2Fg2RSraAGUoj4h7JhDm0EMpaR5ewzlPWQly4kI35LXmhqBhK9CrJdqTb9m7x/0iWypkSe2OFoiO7Elh3ji+ArS9j8w==
      SIS_COURSE_APP_ID: AgCOyv5vfNF55piWj83dQtD10re4a5LFpkD4qoyRNKio6dhqxtcDbLyLC+DHLoALI545SyqJNMSmpiyYVrxHqYsztWt9ZEvV9IIxdjs3RAyscB/+D3EjetUJ4k1vVdCLn+EfIfn1L3BlvmEecB1KCzDBlANsffq/31bGmJqxJ4rNMfQbRR9XI2PnnQABqPPRWhdTbA7Mk9RGgIY9CsPJ2J73Ig5fwtSoV+4WNhzlsMwf3bm9eWzROWbYQzRh3x0JkOiT6goox4i3nUXv7EV5aDKQfOw7/Y4sZRp1lB1XDXRXz3zeBcl6ZZJL+qbSQyKZK69HZPtth9+PZ9cNUyrfFpeEl9NeHTq2Z8APnGFxvk5kH9IrFKiGXtoBF4boQrKlUQRnbeA9Vk1kxMb48VCK5l87cY4EA8DIlveO05fDtjpJtyrysqyMpjF7D1Ldge/OpAMDXFLk2+k/50zlePgC8KobPvzYT4Fwx9aWySAj+Mhj4viA3p8/hKTzd76r5GDK94sk9A4pB9BZeP1gtm6Es93DdK5wsSz0Tljjg9tbOujUW+XudhSeXtXp1BMvbTIsSWBfyTWBLiKaFtw2aoS5imVIF4kI+XJ+MPyMN56dLntbfZPWCj5+WPYBFeExseZ3bNx1ETQxAa7tcdoC37RqgEX4Ja8B/tiNtSvonfNRRgiQT6mowXoR20g4WDN39TLIB5ilGc/lwX5nVg==
      SIS_COURSE_APP_KEY: AgA3K/mFwUiBaQQAzT3DvV/yjeQ/CHyvDS59yBTcUfxO4ZVCeX7hU79BbM8Y2sO10DsUnupuByRbrk7TpljRP802OiGFBUVOux21CMgUr6Hans296doGe/hLmF5kHQmqD1HzGwJzZb+TQM6JCL+iV0bMTlSubXCjCD5YefG2GH659IGGVbQxYqVU3qrIhU0zZYWAHJR9dVaCbqy5sJs6QF3yW6OHztJHKHHU4YmoRUMPDI004ZGamhrsWK54NSa5iC2qxNrl79kpRhMF0gKx+yv4ltHC6cNAs28mSnBF79ihnb6NCKhU+02baXcGMg/urX2N4O9rAsgYXA+CEXxUZOIqCbIcMzvybb2wFWObi39gH1wejUIleiChxl/dohheJdnMfApX8z0LG6ghTyBpo6XSmeSaefXJnfpI1Eq8Fwe5pkdnx6XnrvVOxiQhl1PwdX/chi4hnSQRAIwLhsjvMmsEUztUQ6jH7bIj7H65B+VxYwTupKwgK5BSfWRtRgQ6xa7doXXlNebZGuMkFauRLdY6DmGOmpYHLXDkSH6x6TdCoNwpCSegSKJNzvpPHKHhlHBM1pNZzY5R1K9CVGfFmFUBzwOBMGxmDYyy9kzo3zL4GrI90k0xmhejhRdZCril0yrs9EkN5Z0PREUbEzGez7iYtmb1nIVKdbx1ftjI5sXewjB2UypHcOGIh1b21Jk+MWb1i0NQ9ccUKPLMV/EvbkrOwK3BrbX7BaBTsJzyEwkSkg==
      SIS_TERM_APP_ID: AgBCvzxEQKBXMEVD+ApmFtrENpuV+XbndAZUsXnTjeoM/g7XdRZojcQKL91KH4C4NDfeHRN07VStDGkh+NhX63nrTPzGpYofDWYMg+Oh1cXR6DhXB1tnAatW22osN/loukFLzv7pTJLp0iztoHesLNqzIfqPbe/mzltwUKs0himI/kFRrPgKd78NmXVP7hVP4+dqtRPd4IxZmiS3f1F0+T8x2Q72li8Zhar6z318wA+Z722qpzBI9WAkQK8MgzuDlXmbWjSIUDsuZaxHPtGlsNEUyUv7IlAv8UP2AMZ05d1TToV9HnHjLqAWiYrEUMMbUi8gbfxONGJD/gosiCxYM6LG7huPRxbW9k5HoZ+h5rZ24fnpCynqFoDSqYTDT6gQHUVTFhoqGQuTXyhxS1NTnPLEpOSmOoQx+QTb6TcK6wEz5XWCLf83VFZa3agPj71RG/KToG4wg+uZSL6nDG+ktDnmpgRl+1mME77qWDw2X1zukX91JQEmU2tcO4xOsTPoOcPDu7FkNZu++L3DeOzhFkdf0hloGPpXOnQWy4FXVtsb7YX1eKDNoTjStKEjrK99EcDNBlknq0L3If86HjgOKY3YGzzJ9eAa6EsGwtgWXWn0UUpV6TEVJNV9l4d/Py9Dd/4L5HSB8VVBv9qHHbo7ZzK6KO/3HOIlycVfHuulV82qcKTDwQIJO0NcTsGMsm7Y2liytr0jGJ/mUA==
      SIS_TERM_APP_KEY: AgAX2aEY4DrROgEF0ZMfGVXkoTXMHEvsYUiSFab3PoVtlICsDbjZLhEQnBQK2WA3LdGqwl7q5doqsbsSW5z2ItyzZDON8/Tp856Ck1qR/d+uFKU6/CWnM35oM6Fz2cuKNVgCsIXHYWBriOMJ2kXRPWA7F6YlYGXTWdU0oryp0yF3eTH48T2nPAu8ZCtRnqImhpRKpXrl5QdLU+31x1MLvl/B8QmJC3ozijQSSifw6vIXhxRO3wiiVEtn3fFeKpDX2fnRFuckFzHJXUXvxi7iOVy+E6aV4rYmo3qqPg3ZwuprLsAvybHlDgZUI7/ziaWptYURvp8AQbcszjh3NKb7mPk52drSpErbpn+Mh1U4b5RGGRBtaiSdgPiKaRwcX415g3DZYV/2C97rzWsAJ04WLioAGG8WQa7+elpKNv53ls+0fm8YImN/yoYnm/tYYU92+0yk4oJgpIcR3BqjLFYL7AQsYupae0fMAQ0d5FOtYDbFObUkzoywle5ywfDv8lQDocSe3EaBtC4ZcMOyJdLocrQyD0pZd/ixiNTpeg7Z0fUfm3WUHPgLKJkg/p8/mmv3HgHhjsZ188S8QpPRuTiAh1WZVRpQUu5LZPHaTmMxm1MOV4hOUHz7FHk0KKDgeuG5m7rrz2mRARJSgTeVlWXp9lkCgNND/2RjiBJ0XDm0lOz28gBOwZDEAfEqbvL3iUt5rzSjf28mHBetzp5CPgCKkG2RfpSip3yFVF+eMkj/C2DGAw==
    template:
      metadata:
        annotations:
          sealedsecrets.bitnami.com/namespace-wide: "true"
        name: bt-prod-app-datapuller-secret
        labels:
          app.kubernetes.io/name: datapuller
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
bt-prod-app-frontend, Deployment (apps) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: bt-prod-app-frontend
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    replicas: 2
    selector:
      matchLabels:
        app.kubernetes.io/name: frontend
-       helm.sh/chart: bt-app-1.0.0
+       helm.sh/chart: bt-app-0.1.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: bt-prod-app
        env: prod
    template:
      metadata:
        labels:
          app.kubernetes.io/name: frontend
-         helm.sh/chart: bt-app-1.0.0
+         helm.sh/chart: bt-app-0.1.0
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/instance: bt-prod-app
          env: prod
      spec:
        containers:
          - name: frontend
            image: docker.io/octoberkeleytime/bt-frontend:prod
            imagePullPolicy: Always
            ports:
              - containerPort: 3000
            readinessProbe:
              httpGet:
                path: /
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 3
bt-prod-app-frontend-svc, Service (v1) has changed:
  # Source: bt-app/templates/frontend.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: bt-prod-app-frontend-svc
    labels:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    selector:
      app.kubernetes.io/name: frontend
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
-     helm.sh/chart: bt-app-1.0.0
+     helm.sh/chart: bt-app-0.1.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-0.1.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-0.1.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-0.1.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

3 similar comments
Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-l2, L2Advertisement (metallb.io) has changed:
  # Source: bt-base/templates/metallb-config.yaml
  apiVersion: metallb.io/v1beta1
  kind: L2Advertisement
  metadata:
    name: bt-base-l2
    labels:
      app.kubernetes.io/name: base
-     helm.sh/chart: bt-base-0.1.0
+     helm.sh/chart: bt-base-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-base
bt-base-pool, IPAddressPool (metallb.io) has changed:
  # Source: bt-base/templates/metallb-config.yaml
  apiVersion: metallb.io/v1beta1
  kind: IPAddressPool
  metadata:
    name: bt-base-pool
    labels:
      app.kubernetes.io/name: base
-     helm.sh/chart: bt-base-0.1.0
+     helm.sh/chart: bt-base-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-base
  spec:
    addresses:
    - 169.229.226.51-169.229.226.51
letsencrypt-prod, Issuer (cert-manager.io) has changed:
  # Source: bt-base/templates/issuer.yaml
  apiVersion: cert-manager.io/v1
  kind: Issuer
  metadata:
    name: letsencrypt-prod
    labels:
      app.kubernetes.io/name: base
-     helm.sh/chart: bt-base-0.1.0
+     helm.sh/chart: bt-base-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-base
  spec:
    acme:
      email: [email protected]
      server: https://acme-v02.api.letsencrypt.org/directory
      privateKeySecretRef:
        name: letsencrypt-prod
      solvers:
        - dns01:
            cloudflare:
              apiTokenSecretRef:
                name: cloudflare-api-token-stanfurdtime-secret
                key: api-token
helm-diff-role, Role (rbac.authorization.k8s.io) has been removed:
- # Source: bt-base/templates/helm-diff-role.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: Role
- metadata:
-   name: helm-diff-role
-   namespace: bt
- rules:
- - apiGroups: [""]
-   resources: ["pods", "services", "configmaps", "secrets"]
-   verbs: ["get", "list"]
- - apiGroups: ["apps"]
-   resources: ["deployments", "statefulsets"]
-   verbs: ["get", "list"]
- - apiGroups: ["networking.k8s.io"]
-   resources: ["ingresses"]
-   verbs: ["get", "list"]
+ 
helm-diff-rolebinding, RoleBinding (rbac.authorization.k8s.io) has been removed:
- # Source: bt-base/templates/helm-diff-role.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
-   name: helm-diff-rolebinding
-   namespace: bt
- subjects:
- - kind: ServiceAccount
-   name: helm-diff-sa
-   namespace: bt
- roleRef:
-   kind: Role
-   name: helm-diff-role
-   apiGroup: rbac.authorization.k8s.io
+ 
helm-diff-sa, ServiceAccount (v1) has been removed:
- # Source: bt-base/templates/helm-diff-role.yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
-   name: helm-diff-sa
-   namespace: bt
+ 
bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

helm-diff-role, Role (rbac.authorization.k8s.io) has been removed:
- # Source: bt-base/templates/helm-diff-role.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: Role
- metadata:
-   name: helm-diff-role
-   namespace: bt
- rules:
- - apiGroups: [""]
-   resources: ["pods", "services", "configmaps", "secrets"]
-   verbs: ["get", "list"]
- - apiGroups: ["apps"]
-   resources: ["deployments", "statefulsets"]
-   verbs: ["get", "list"]
- - apiGroups: ["networking.k8s.io"]
-   resources: ["ingresses"]
-   verbs: ["get", "list"]
+ 
helm-diff-rolebinding, RoleBinding (rbac.authorization.k8s.io) has been removed:
- # Source: bt-base/templates/helm-diff-role.yaml
- apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
-   name: helm-diff-rolebinding
-   namespace: bt
- subjects:
- - kind: ServiceAccount
-   name: helm-diff-sa
-   namespace: bt
- roleRef:
-   kind: Role
-   name: helm-diff-role
-   apiGroup: rbac.authorization.k8s.io
+ 
helm-diff-sa, ServiceAccount (v1) has been removed:
- # Source: bt-base/templates/helm-diff-role.yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
-   name: helm-diff-sa
-   namespace: bt
+ 
bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.berkeleytime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.berkeleytime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z
📋 Raw Helm Diff Output
Raw App Chart Diff:
bt, bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt, bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80
Raw Base Chart Diff:
bt, bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt, bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt, bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt, bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt, bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

1 similar comment
Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z
📋 Raw Helm Diff Output
Raw App Chart Diff:
bt, bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt, bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80
Raw Base Chart Diff:
bt, bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt, bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt, bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt, bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt, bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

📋 Raw Helm Diff Output

Raw App Chart Diff:
bt, bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt, bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80
Raw Base Chart Diff:
bt, bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt, bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt, bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt, bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt, bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

@adit-bala
Copy link
Contributor Author

/helm-diff

2 similar comments
@adit-bala
Copy link
Contributor Author

/helm-diff

@adit-bala
Copy link
Contributor Author

/helm-diff

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

📋 Raw Helm Diff Output

Raw App Chart Diff:
bt, bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt, bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80
Raw Base Chart Diff:
bt, bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt, bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt, bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt, bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt, bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

@adit-bala adit-bala requested a review from maxmwang February 23, 2025 23:08
@adit-bala
Copy link
Contributor Author

/helm-diff

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

📋 Raw Helm Diff Output

Raw App Chart Diff:
bt, bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt, bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80
Raw Base Chart Diff:
bt, bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt, bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt, bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt, bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt, bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

@maxmwang
Copy link
Contributor

/helm-diff

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

📋 Raw Helm Diff Output

Raw App Chart Diff:
bt, bt-prod-app-datapuller-courses, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-courses
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
-   schedule: "0 4 * * *"
+   schedule: "5 4 * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-courses
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=courses"]
+               args: 
+                 - --puller=courses
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-datapuller-enrollments, CronJob (batch) has changed:
  # Source: bt-app/templates/datapuller.yaml
  apiVersion: batch/v1
  kind: CronJob
  metadata:
    name: bt-prod-app-datapuller-enrollments
    labels:
      app.kubernetes.io/name: datapuller
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
  spec:
    schedule: "0/15 * * * *"
    timeZone: America/Los_Angeles
    concurrencyPolicy: Forbid
    suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
    jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
      spec:
+       ttlSecondsAfterFinished: 172800
        template:
-         spec:
+         metadata:
            labels:
              app.kubernetes.io/name: datapuller
              helm.sh/chart: bt-app-1.0.0
              app.kubernetes.io/managed-by: Helm
              app.kubernetes.io/instance: bt-prod-app
              env: prod
+         spec:
            containers:
              - name: datapuller-enrollments
                image: docker.io/octoberkeleytime/bt-datapuller:prod
                imagePullPolicy: Always
                command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=enrollments"]
+               args: 
+                 - --puller=enrollments
                envFrom:
                  - configMapRef:
                      name: bt-prod-app-datapuller-env
                  - secretRef:
                      name: bt-prod-app-datapuller-secret
            restartPolicy: OnFailure
bt, bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt, bt-prod-app-datapuller-classes, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-classes
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "20 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-classes
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=classes"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-grades, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-grades
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "25 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-grades
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=grades"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-sections, CronJob (batch) has been removed:
- # Source: bt-app/templates/datapuller.yaml
- apiVersion: batch/v1
- kind: CronJob
- metadata:
-   name: bt-prod-app-datapuller-sections
-   labels:
-     app.kubernetes.io/name: datapuller
-     helm.sh/chart: bt-app-1.0.0
-     app.kubernetes.io/managed-by: Helm
-     app.kubernetes.io/instance: bt-prod-app
-     env: prod
- spec:
-   schedule: "10 4 * * *"
-   timeZone: America/Los_Angeles
-   concurrencyPolicy: Forbid
-   suspend: false
-   successfulJobsHistoryLimit: 3
-   failedJobsHistoryLimit: 3
-   jobTemplate:
-     spec:
-       template:
-         spec:
-           labels:
-             app.kubernetes.io/name: datapuller
-             helm.sh/chart: bt-app-1.0.0
-             app.kubernetes.io/managed-by: Helm
-             app.kubernetes.io/instance: bt-prod-app
-             env: prod
-           containers:
-             - name: datapuller-sections
-               image: docker.io/octoberkeleytime/bt-datapuller:prod
-               imagePullPolicy: Always
-               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
-               args: ["--puller=sections"]
-               envFrom:
-                 - configMapRef:
-                     name: bt-prod-app-datapuller-env
-                 - secretRef:
-                     name: bt-prod-app-datapuller-secret
-           restartPolicy: OnFailure
+ 
bt, bt-prod-app-datapuller-classes-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "25 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-classes-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-classes-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "20 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-classes-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=classes-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "35 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-grades-recent, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-grades-recent
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "30 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-grades-recent
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=grades-recent
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-active, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-active
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "15 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-active
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-active
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-sections-l5y, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-sections-l5y
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "10 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-sections-l5y
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=sections-last-five-years
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-all, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-all
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 1 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-all
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-all
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-datapuller-terms-nearby, CronJob (batch) has been added:
- 
+ # Source: bt-app/templates/datapuller.yaml
+ apiVersion: batch/v1
+ kind: CronJob
+ metadata:
+   name: bt-prod-app-datapuller-terms-nearby
+   labels:
+     app.kubernetes.io/name: datapuller
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+ spec:
+   schedule: "0 4 2-31 * *"
+   timeZone: America/Los_Angeles
+   concurrencyPolicy: Forbid
+   suspend: false
+   successfulJobsHistoryLimit: 2
+   failedJobsHistoryLimit: 1
+   jobTemplate:
+     metadata:
+       labels:
+         app.kubernetes.io/name: datapuller
+         helm.sh/chart: bt-app-1.0.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/instance: bt-prod-app
+         env: prod
+     spec:
+       ttlSecondsAfterFinished: 172800
+       template:
+         metadata:
+           labels:
+             app.kubernetes.io/name: datapuller
+             helm.sh/chart: bt-app-1.0.0
+             app.kubernetes.io/managed-by: Helm
+             app.kubernetes.io/instance: bt-prod-app
+             env: prod
+         spec:
+           containers:
+             - name: datapuller-terms-nearby
+               image: docker.io/octoberkeleytime/bt-datapuller:prod
+               imagePullPolicy: Always
+               command: ["turbo", "run", "main", "--filter=datapuller", "--env-mode=loose", "--"]
+               args: 
+                 - --puller=terms-nearby
+               envFrom:
+                 - configMapRef:
+                     name: bt-prod-app-datapuller-env
+                 - secretRef:
+                     name: bt-prod-app-datapuller-secret
+           restartPolicy: OnFailure
bt, bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80
Raw Base Chart Diff:
bt, bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt, bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt, bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt, bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt, bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

@adit-bala
Copy link
Contributor Author

/helm-diff

Copy link

Helm Diff Results

App Chart Changes

bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80

Base Chart Changes

bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

📋 Raw Helm Diff Output

Raw App Chart Diff:
bt, bt-prod-app-ingress, Ingress (networking.k8s.io) has changed:
  # Source: bt-app/templates/ingress.yaml
+ # berkeleytime.com ingress
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: bt-prod-app-ingress
    labels:
      helm.sh/chart: bt-app-1.0.0
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/instance: bt-prod-app
      env: prod
    annotations:
      cert-manager.io/issuer: letsencrypt-prod
  spec:
    ingressClassName: nginx
    tls:
      - hosts:
          - stanfurdtime.com
        secretName: bt-tls
    rules:
      - host: stanfurdtime.com
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-frontend-svc
                  port:
                    number: 80
            - path: /api
              pathType: Prefix
              backend:
                service:
                  name: bt-prod-app-backend-svc
                  port:
                    number: 80
bt, bt-prod-app-staff-ingress, Ingress (networking.k8s.io) has been added:
- 
+ # Source: bt-app/templates/ingress.yaml
+ # staff.berkeleytime.com ingress with oauth2 proxy
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: bt-prod-app-staff-ingress
+   labels:
+     helm.sh/chart: bt-app-1.0.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/instance: bt-prod-app
+     env: prod
+   annotations:
+     kubernetes.io/ingress.class: "nginx"
+     cert-manager.io/issuer: 
+     nginx.ingress.kubernetes.io/auth-url: "https://staff.stanfurdtime.com/oauth2/auth"
+     nginx.ingress.kubernetes.io/auth-signin: "https://staff.stanfurdtime.com/oauth2/start?rd=$escaped_request_uri"
+     nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
+ spec:
+   ingressClassName: nginx
+   tls:
+     - hosts:
+         - staff.stanfurdtime.com
+       secretName: bt-tls
+   rules:
+     - host: staff.stanfurdtime.com
+       http:
+         paths:
+           - path: /
+             pathType: Prefix
+             backend:
+               service:
+                 name: bt-prod-app-frontend-svc
+                 port:
+                   number: 80
Raw Base Chart Diff:
bt, bt-base-oauth2-proxy, ConfigMap (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/configmap.yaml
+ apiVersion: v1
+ kind: ConfigMap
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ data:
+   oauth2_proxy.cfg: "email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"
bt, bt-base-oauth2-proxy, Deployment (apps) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/deployment.yaml
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   replicas: 1
+   revisionHistoryLimit: 10
+   selector:
+     matchLabels:      
+       app.kubernetes.io/name: oauth2-proxy
+       app.kubernetes.io/instance: bt-base
+   template:
+     metadata:
+       annotations:
+         checksum/config: c0329892592df8b1519fac51e84aee8cf879bb8e157e5a04f6556b38b5a2435b
+         checksum/secret: b3a4c2125d1f2ca2e0e9b09d53ced4c3ad0a190cc4f436f85dc48a3b20a0f2e0
+         checksum/google-secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+         checksum/redis-secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+       labels:
+         app: oauth2-proxy        
+         helm.sh/chart: oauth2-proxy-7.11.0
+         app.kubernetes.io/managed-by: Helm
+         app.kubernetes.io/component: authentication-proxy
+         app.kubernetes.io/part-of: oauth2-proxy
+         app.kubernetes.io/name: oauth2-proxy
+         app.kubernetes.io/instance: bt-base
+         app.kubernetes.io/version: "7.8.1"
+     spec:
+       serviceAccountName: bt-base-oauth2-proxy
+       enableServiceLinks: true
+       automountServiceAccountToken: true
+       containers:
+       - name: oauth2-proxy
+         image: "quay.io/oauth2-proxy/oauth2-proxy:v7.8.1"
+         imagePullPolicy: IfNotPresent
+         args:
+           - --http-address=0.0.0.0:4180
+           - --https-address=0.0.0.0:4443
+           - --metrics-address=0.0.0.0:44180
+           - --config=/etc/oauth2_proxy/oauth2_proxy.cfg
+         env:
+         - name: OAUTH2_PROXY_CLIENT_ID
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-id
+         - name: OAUTH2_PROXY_CLIENT_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: client-secret
+         - name: OAUTH2_PROXY_COOKIE_SECRET
+           valueFrom:
+             secretKeyRef:
+               name:  bt-github-oauth-secret
+               key: cookie-secret
+         ports:
+           - containerPort: 4180
+             name: http
+             protocol: TCP
+           - containerPort: 44180
+             protocol: TCP
+             name: metrics
+         livenessProbe:
+           httpGet:
+             path: /ping
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 1
+         readinessProbe:
+           httpGet:
+             path: /ready
+             port: http
+             scheme: HTTP
+           initialDelaySeconds: 0
+           timeoutSeconds: 5
+           successThreshold: 1
+           periodSeconds: 10
+         resources:
+           {}
+         volumeMounts:
+         - mountPath: /etc/oauth2_proxy/oauth2_proxy.cfg
+           name: configmain
+           subPath: oauth2_proxy.cfg
+         securityContext:
+           allowPrivilegeEscalation: false
+           capabilities:
+             drop:
+             - ALL
+           readOnlyRootFilesystem: true
+           runAsGroup: 2000
+           runAsNonRoot: true
+           runAsUser: 2000
+           seccompProfile:
+             type: RuntimeDefault
+       volumes:
+       - configMap:
+           defaultMode: 420
+           name: bt-base-oauth2-proxy
+         name: configmain
bt, bt-base-oauth2-proxy, Service (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/service.yaml
+ apiVersion: v1
+ kind: Service
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ spec:
+   type: ClusterIP
+   ports:
+     - port: 80
+       targetPort: http
+       protocol: TCP
+       appProtocol: http
+       name: http
+     - port: 44180
+       protocol: TCP
+       appProtocol: http
+       targetPort: metrics
+       name: metrics
+   selector:    
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
bt, bt-base-oauth2-proxy, ServiceAccount (v1) has been added:
- 
+ # Source: bt-base/charts/oauth2-proxy/templates/serviceaccount.yaml
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+     app: oauth2-proxy    
+     helm.sh/chart: oauth2-proxy-7.11.0
+     app.kubernetes.io/managed-by: Helm
+     app.kubernetes.io/component: authentication-proxy
+     app.kubernetes.io/part-of: oauth2-proxy
+     app.kubernetes.io/name: oauth2-proxy
+     app.kubernetes.io/instance: bt-base
+     app.kubernetes.io/version: "7.8.1"
+   name: bt-base-oauth2-proxy
+   namespace: bt
+ automountServiceAccountToken: true
bt, bt-github-oauth-secret, SealedSecret (bitnami.com) has been added:
- 
+ # Source: bt-base/templates/github-oauth-sealed-secret.yaml
+ apiVersion: bitnami.com/v1alpha1
+ kind: SealedSecret
+ metadata:
+   creationTimestamp: null
+   name: 'bt-github-oauth-secret'
+ spec:
+   encryptedData:
+     client-id: AgBhDLHp/kE6BWH+e8hC+YffEHgquzGtXzOtlRIuGjk00nHrWOblfyIJAMUpt67sSOgglTmER83MBp3o8KZinV8sHWigPcmnbnUA7jSaNnbSAG8a9HudVOEBH4WrMdsEIHuQvoN0Bj0OE4X3xc3tB7eWGW+LgISuT6NBiZu+aCTDOHR5oKkLS1rfkkFVooNXVxKq/lDugAVayIJtk918syrTGskfcovnVXYQvY88HGK8qmmeZJSORqq0l5Usc+P2ExC7kfn6UusZQzVrv7X+tWVas9i0IcsfMLboVu/Xk7edeSCDORwWIdBeisTRumQFGiqaNZuBKBA9PQR0JVtMz/a386WCxmOpI8tulEPOJF8D0IqKuIaGDxf142cWAd+N4pGoFzZ8za8lPLAqZvMUyXX67MgyprKjbFJ8rq76ZoPTkRAsW/bLUzJ86nznc7yXL4/eF8cC/cgY6x7HYA80Tb9MTCLcxusEQNHJOtf0fjOQTB7dgqSbIOUaJjf+vOmqDoDlwUAcZJZlARn9NhihwMNcfvE+wt73nJePO67iiTgj4Rt9FJusHWN/TzHGg+FtA6IOscefBGwN05aH9bhoE7jnI7HwhsX9ENnsnK9UdBSjLLCADFaogVyN9PevOiCEgehDhbcYlg2USP2T75GXhEFJxxWxIM7o0Jw+p8zKB/T+wVQ6/slbfpFBPwdL+GHnjFCl1qTUJu65W7wBF1m5Psg42kdhpg==
+     client-secret: AgBMW2CPrJWMUO2aH8CzqkQqaMrXnFsokjYAhHf3ieMvnSLoGjt1vxpekHjGIxHN/VKRLJP5vfk4u7zPFJUPBgPa4+aMdqCqrWo3Zmxi1wRMz5F3N0HwCCi+FT7K1nUev0X3dQNTCNoZbdB+ggJFwaC0CmfqXFNFob62mYcvR4l5EFwH9Ol0oqF5u6jAuB5hZ0KozA1seeEmIxuvNZeq5PC/AEYDtQNLam01uF/GWFi4yza7xULt3WfzPFRdGaUS2G6S1/yYOSs7V0qxxjMCzkUQorm4RgppbMLIE1sBkA6ZfSQ+vTFD4AFm3DnQ36KM1qQxqtD62NKDrjHMtmOMO3/LHkkm/KmcoY2HpVEvV60pm6nXRaGWR0Z/XLJFrdXg4ovhxNw3irsaXRkmCjBEy82GBfJ5irwGcx3Q4uZu8pKYTNUp+Ks7MTa4Y+p6IS6xYahff4czbwcJpJaGD8KoBOh88QVP69lsSnfLHbrhVs6J3dmh8rdPoCr7C7pOUNS3yPc50WAy4K3uV3r2CyAnOhB0riEwmzGEEu3/eicYzUshMzofWhJc5DiybAoQDrynUm5rhbk3IakK6bIjGFN5fBYXw4Zs8ldH5RB5Wj9ePtLtOCnT8KOvUZzXc533iMoQidHex8Q29nZCckrRXkUc1kgOFSE57RyCnbG08z+vQZleBH0RdsCPACcWGEAPUxcKnTW4QD0EOAL/PNAIVLdSwQjAy3ThrfINFALzkug87ZxNyhXY3l1gNLu9
+     cookie-secret: AgAsLPL8n2m06jbupXxX8Jj0uPusQwG7W366hqj8G4k7vO3JfbHQXPxju9PZzWIN+5TSlUAK3HVuS1LE6dPjsawS2wQXDzjGWiADNlud4BrQajc8X4DfMBciAASv0W8ExGSgUI0VtdCGzs5IFtikDhsRvu6T5z1aC+6n97Uik5gA+1cNOoCEyJjvy/Gc4VhAgTp9Yz0GyfruU90P5YDNLjZOXZGG1AkmhzOTQhX4q1qRxn3vl84EQJrUzgR93MvzaQ6qZg4rbIc3DRNsTlxwcmf1LnbHFiet1zxojKnzBxULMuPLftMx61wlr+Xq18CKDZPq9uAQ2Rm0yKpWGKFd9jCrErIvZ1p2xlTT86P7InJu798rGkcRxsrXlNOMuNXI3pnQJKQeV2jXmUlo0JjlmBWPuCn7iUKI12mqh7vwSkuQ+k3HLccJLaSQt9VJQ46WLtTFFowxii0kGxdl20U+dsm/EA8P1axtkwSdpTE0xqHDRSkxHjDWiL7oxPf2aFbJjTGfa3nj9B8Pi0y2MmRM5AiU6KTuv4RlwHBjdWQ4p+a2Qzk3ttNVgFcRiMsGdLJrdoP2vlT6Tr/JUnl12BAzweYQPBM0/Q8Tn34sPpThUD/st6hFuA8YcrEDNdQzpWwT9O3KmRzaDHTfJqpX5/ZCBvRgZ2S2PbmldXqK2lxzNtCBcBVC85V8og2AJTx0I0qfZ2NH/JAE3ykkgQsW3O0giWz7BzkUo8Ev8FmMVoGuw8kMu2gTM9NnZNTOHnQHZf7sAPzPQcEGv+LHjVLZjfs1UV6z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants