diff --git a/repo/packages/developer-portal.packages.kadras.io/0.4.1.yml b/repo/packages/developer-portal.packages.kadras.io/0.4.1.yml
new file mode 100644
index 0000000..69a9585
--- /dev/null
+++ b/repo/packages/developer-portal.packages.kadras.io/0.4.1.yml
@@ -0,0 +1,607 @@
+apiVersion: data.packaging.carvel.dev/v1alpha1
+kind: Package
+metadata:
+ creationTimestamp: null
+ name: developer-portal.packages.kadras.io.0.4.1
+spec:
+ refName: developer-portal.packages.kadras.io
+ releasedAt: "2024-11-10T20:15:35Z"
+ template:
+ spec:
+ deploy:
+ - kapp:
+ intoNs: backstage
+ fetch:
+ - imgpkgBundle:
+ image: ghcr.io/kadras-io/package-for-developer-portal@sha256:3ce0698652631108e01dbba342008c17d29b66d0fcc1de02a67fd2d8142f8551
+ template:
+ - helmTemplate:
+ name: backstage
+ namespace: backstage
+ path: config/helm/upstream/backstage
+ valuesFrom:
+ - path: config/helm/values.yml
+ - ytt:
+ ignoreUnknownComments: true
+ paths:
+ - '-'
+ - config/carvel
+ - kbld:
+ paths:
+ - '-'
+ - .imgpkg/images.yml
+ valuesSchema:
+ openAPIv3:
+ properties:
+ backstage:
+ description: Backstage parameters @default -- See below
+ properties:
+ affinity:
+ default: {}
+ description: 'Affinity for pod assignment
Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity'
+ type: object
+ annotations:
+ default: {}
+ description: Additional custom annotations for the `Deployment` resource
+ type: object
+ appConfig:
+ default: {}
+ description: 'Allows to define the appConfig as a multiline string that
+ generates a ConfigMap automatically, not requiring to have it pre
+ provisioned as with the extraAppConfig key. DO NOT USE if you need
+ to put sensitive data in the appConfig. E.g: appConfig: app: baseUrl:
+ https://somedomain.tld -- Generates ConfigMap and configures it in
+ the Backstage pods'
+ type: object
+ args:
+ default: []
+ description: Backstage container command arguments
+ items: {}
+ type: array
+ command:
+ default: []
+ description: Backstage container command
+ items:
+ default: node
+ type: string
+ type: array
+ containerPorts:
+ description: Container ports on the Deployment
+ properties:
+ backend:
+ default: 7007
+ type: integer
+ type: object
+ containerSecurityContext:
+ default: {}
+ description: 'Security settings for a Container.
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container'
+ type: object
+ extraAppConfig:
+ default: []
+ description: Extra app configuration files to inline into command arguments
+ items: {}
+ type: array
+ extraContainers:
+ default: []
+ description: Deployment sidecars
+ items: {}
+ type: array
+ extraEnvVars:
+ default: []
+ description: Backstage container environment variables
+ items: {}
+ type: array
+ extraEnvVarsCM:
+ default: []
+ description: Backstage container environment variables from existing
+ ConfigMaps
+ items: {}
+ type: array
+ extraEnvVarsSecrets:
+ default: []
+ description: Backstage container environment variables from existing
+ Secrets
+ items: {}
+ type: array
+ extraVolumeMounts:
+ default: []
+ description: Backstage container additional volume mounts
+ items: {}
+ type: array
+ extraVolumes:
+ default: []
+ description: Backstage container additional volumes
+ items: {}
+ type: array
+ image:
+ properties:
+ digest:
+ default: ""
+ description: Backstage image digest (digest takes precedence over
+ image tag)
+ type: string
+ pullPolicy:
+ default: Always
+ description: 'Specify a imagePullPolicy. Defaults to ''Always''
+ if image tag is ''latest'', else set to ''IfNotPresent''
+ Ref: https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy'
+ type: string
+ pullSecrets:
+ default: []
+ description: 'Optionally specify an array of imagePullSecrets. Secrets
+ must be manually created in the namespace.
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+
E.g: `pullSecrets: [myRegistryKeySecretName]`'
+ items: {}
+ type: array
+ registry:
+ default: ghcr.io
+ description: Backstage image registry
+ type: string
+ repository:
+ default: backstage/backstage
+ description: Backstage image repository
+ type: string
+ tag:
+ default: latest
+ description: Backstage image tag (immutable tags are recommended)
+ type: string
+ type: object
+ initContainers:
+ default: []
+ description: Backstage container init containers
+ items: {}
+ type: array
+ installDir:
+ default: /app
+ description: Directory containing the backstage installation
+ type: string
+ livenessProbe:
+ description: 'Liveness Probe Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
+ '
+ type: object
+ revisionHistoryLimit:
+ default: 10
+ description: Define the [count of deployment revisions](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy)
+ to be kept. May be set to 0 in case of GitOps deployment approach.
+ type: integer
+ startupProbe:
+ description: 'Startup Probe Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
+ '
+ items: {}
+ type: array
+ extraTls:
+ default: []
+ description: 'The TLS configuration for additional hostnames to be covered
+ with this ingress record.
Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
+ '
+ items: {}
+ type: array
+ host:
+ default: ""
+ description: 'Hostname to be used to expose the route to access the
+ backstage application (e.g: backstage.IP.nip.io)'
+ type: string
+ path:
+ default: /
+ description: 'Path to be used to expose the full route to access the
+ backstage application (e.g: IP.nip.io/backstage)'
+ type: string
+ tls:
+ description: Ingress TLS parameters
+ properties:
+ enabled:
+ default: false
+ description: Enable TLS configuration for the host defined at `ingress.host`
+ parameter
+ type: boolean
+ secretName:
+ default: ""
+ description: The name to which the TLS Secret will be called
+ type: string
+ type: object
+ type: object
+ kubeVersion:
+ default: ""
+ description: |-
+ Common parameters
+ -- Override Kubernetes version
+ type: string
+ metrics:
+ description: Metrics configuration
+ properties:
+ serviceMonitor:
+ description: ServiceMonitor configuration
Allows configuring
+ your backstage instance as a scrape target for [Prometheus](https://github.com/prometheus/prometheus)
+ using a ServiceMonitor custom resource that [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator)
+ can understand.
+ properties:
+ annotations:
+ default: {}
+ description: ServiceMonitor annotations
+ type: object
+ enabled:
+ default: false
+ description: If enabled, a ServiceMonitor resource for Prometheus
+ Operator is created
Prometheus Operator must be installed
+ in your cluster prior to enabling.
+ type: boolean
+ interval:
+ default: "null"
+ description: ServiceMonitor scrape interval
+ type: "null"
+ labels:
+ default: {}
+ description: Additional ServiceMonitor labels
+ type: object
+ path:
+ default: /metrics
+ description: ServiceMonitor endpoint path
Note that the /metrics
+ endpoint is NOT present in a freshly scaffolded Backstage app.
+ To setup, follow the [Prometheus metrics tutorial](https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md).
+ type: string
+ type: object
+ type: object
+ nameOverride:
+ default: ""
+ description: String to partially override common.names.fullname
+ type: string
+ networkPolicy:
+ description: '@section NetworkPolicy parameters'
+ properties:
+ egressRules:
+ description: Egress Rules
+ properties:
+ customRules:
+ default: []
+ description: Additional custom egress rules
+ items: {}
+ type: array
+ denyConnectionsToExternal:
+ default: false
+ description: Deny external connections. Should not be enabled when
+ working with an external database.
+ type: boolean
+ type: object
+ enabled:
+ default: false
+ description: Specifies whether a NetworkPolicy should be created
+ type: boolean
+ ingressRules:
+ description: Ingress Rules
+ properties:
+ customRules:
+ default: []
+ description: Additional custom ingress rules
+ items: {}
+ type: array
+ namespaceSelector:
+ default: {}
+ description: Namespace selector label allowed to access the Backstage
+ instance
+ type: object
+ podSelector:
+ default: {}
+ description: Pod selector label allowed to access the Backstage
+ instance
+ type: object
+ type: object
+ type: object
+ postgresql:
+ description: PostgreSQL [chart configuration](https://github.com/bitnami/charts/blob/master/bitnami/postgresql/values.yaml)
+ @default -- See below
+ properties:
+ architecture:
+ default: standalone
+ description: PostgreSQL architecture (`standalone` or `replication`)
+ type: string
+ auth:
+ description: The authentication details of the Postgres database
+ properties:
+ existingSecret:
+ default: ""
+ description: Name of existing secret to use for PostgreSQL credentials
+ type: string
+ password:
+ default: ""
+ description: Password for the custom user to create
+ type: string
+ secretKeys:
+ description: The secret keys Postgres will look for to retrieve
+ the relevant password
+ properties:
+ adminPasswordKey:
+ default: admin-password
+ description: The key in which Postgres will look for, for the
+ admin password, in the existing Secret
+ type: string
+ replicationPasswordKey:
+ default: replication-password
+ description: The key in which Postgres will look for, for the
+ replication password, in the existing Secret
+ type: string
+ userPasswordKey:
+ default: user-password
+ description: The key in which Postgres will look for, for the
+ user password, in the existing Secret
+ type: string
+ type: object
+ username:
+ default: bn_backstage
+ description: Name for a custom user to create
+ type: string
+ type: object
+ enabled:
+ default: false
+ description: Switch to enable or disable the PostgreSQL helm chart
+ type: boolean
+ type: object
+ service:
+ description: |-
+ @section Traffic Exposure parameters
+ Service parameters -- Service parameters @default -- See below
+ properties:
+ annotations:
+ default: {}
+ description: Additional custom annotations for Backstage service
+ type: object
+ clusterIP:
+ default: ""
+ description: 'Backstage service Cluster IP
E.g `clusterIP: None`'
+ type: string
+ externalTrafficPolicy:
+ default: Cluster
+ description: 'Backstage service external traffic policy Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip'
+ type: string
+ extraPorts:
+ default: []
+ description: Extra ports to expose in the Backstage service (normally
+ used with the `sidecar` value)
+ items: {}
+ type: array
+ loadBalancerIP:
+ default: ""
+ description: 'Backstage service Load Balancer IP
Ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer'
+ type: string
+ loadBalancerSourceRanges:
+ default: []
+ description: 'Load Balancer sources
Ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
+
E.g `loadBalancerSourceRanges: [10.10.10.0/24]`'
+ items: {}
+ type: array
+ nodePorts:
+ description: Node port for the Backstage client connections Choose port
+ between `30000-32767`
+ properties:
+ backend:
+ default: ""
+ type: string
+ type: object
+ ports:
+ description: Backstage svc port for client connections
+ properties:
+ backend:
+ default: 7007
+ type: integer
+ name:
+ default: http-backend
+ description: Backstage svc port name
+ type: string
+ targetPort:
+ default: backend
+ description: Backstage svc target port referencing receiving pod
+ container port
+ type: string
+ type: object
+ sessionAffinity:
+ default: None
+ description: 'Control where client requests go, to the same pod or round-robin
+ (values: `ClientIP` or `None`)
Ref: https://kubernetes.io/docs/concepts/services-networking/service/#session-stickiness'
+ type: string
+ type:
+ default: ClusterIP
+ description: Kubernetes Service type
+ type: string
+ type: object
+ serviceAccount:
+ description: Service Account Configuration @default -- See below
+ properties:
+ annotations:
+ default: {}
+ description: Additional custom annotations for the ServiceAccount.
+ type: object
+ automountServiceAccountToken:
+ default: true
+ description: Auto-mount the service account token in the pod
+ type: boolean
+ create:
+ default: false
+ description: Enable the creation of a ServiceAccount for Backstage pods
+ type: boolean
+ labels:
+ default: {}
+ description: Additional custom labels to the service ServiceAccount.
+ type: object
+ name:
+ default: ""
+ description: Name of the ServiceAccount to use If not set and `serviceAccount.create`
+ is true, a name is generated
+ type: string
+ type: object
+ type: object
+ version: 0.4.1