diff --git a/manifests/implementation/aws/secrets-manager/storage/install.yaml b/manifests/implementation/aws/secrets-manager/storage/install.yaml index 9f50a7a9..c1e34563 100644 --- a/manifests/implementation/aws/secrets-manager/storage/install.yaml +++ b/manifests/implementation/aws/secrets-manager/storage/install.yaml @@ -7,7 +7,7 @@ metadata: displayName: "Install" description: "Installs AWS Secrets Manager storage" documentationURL: https://capact.io/docs - supportURL: https://aws.amazon.com/secrets-manager/ + supportURL: https://aws.amazon.com/secrets-manager iconURL: https://storage.googleapis.com/dashboard-icons/aws.svg maintainers: - email: team-dev@capact.io @@ -15,6 +15,9 @@ metadata: url: https://capact.io license: name: "Apache 2.0" + attributes: + cap.attribute.cloud.provider.aws: + revision: 0.1.0 spec: appVersion: "0.x" @@ -27,7 +30,7 @@ spec: revision: 0.1.0 outputTypeInstanceRelations: - config: + aws-sm-storage: uses: - helm-release @@ -76,7 +79,9 @@ spec: - name: additional-parameters optional: true outputs: - artifacts: [] + artifacts: + - name: aws-sm-storage + from: "{{steps.helm-install.outputs.artifacts.additional}}" steps: - - name: prepare-parameters template: prepare-parameters @@ -90,6 +95,7 @@ spec: from: "{{inputs.artifacts.additional-parameters}}" optional: true +# TODO: Once Helm storage is implemented (https://github.com/capactio/capact/issues/650), remove usage of output and use TypeInstance projection instead - - name: create-helm-args capact-action: jinja2.template arguments: @@ -122,12 +128,12 @@ spec: targetCPUUtilizationPercentage: <@ additionalinput.autoscaling.targetCPUUtilizationPercentage | default(80) @> global: containerRegistry: - overrideTag: <@ additionalinput.global.containerRegistry.overrideTag | default("latest") @> + overrideTag: <@ additionalinput.global.containerRegistry.overrideTag | default("95643d2") @> path: <@ additionalinput.global.containerRegistry.path | default("ghcr.io/capactio") @> image: name: <@ additionalinput.image.name | default("secret-storage-backend") @> pullPolicy: <@ additionalinput.image.pullPolicy | default("IfNotPresent") @> - imagePullSecrets: <@ additionalinput.imagePullSecrets | default([]]) | tojson @> + imagePullSecrets: <@ additionalinput.imagePullSecrets | default([]) | tojson @> nodeSelector: <@ additionalinput.nodeSelector | default({}) @> podAnnotations: <@ additionalinput.podAnnotations | default({}) @> podSecurityContext: <@ additionalinput.podSecurityContext | default({}) @> @@ -147,14 +153,19 @@ spec: annotations: <@ additionalinput.serviceAccount.annotations | default({}) @> create: <@ additionalinput.serviceAccount.create | default(true) | tojson @> name: <@ additionalinput.serviceAccount.name | default("") | tojson @> - tolerations: <@ additionalinput.tolerations | default([]]) | tojson @> + tolerations: <@ additionalinput.tolerations | default([]) | tojson @> + output: + goTemplate: | + url: '{{ include "secret-storage-backend.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.service.port }}' + contextSchema: null + acceptValue: true - - name: helm-install capact-action: helm.install capact-outputTypeInstances: - name: helm-release from: helm-release - - name: config + - name: aws-sm-storage from: additional arguments: artifacts: diff --git a/manifests/interface/aws/secrets-manager.yaml b/manifests/interface/aws/secrets-manager.yaml index ade5d29a..5ae854bc 100644 --- a/manifests/interface/aws/secrets-manager.yaml +++ b/manifests/interface/aws/secrets-manager.yaml @@ -4,10 +4,10 @@ kind: InterfaceGroup metadata: prefix: "cap.interface.aws" name: "secrets-manager" - displayName: "secrets-manager" - description: "secrets-manager related Interfaces" - documentationURL: https://aws.amazon.com/secrets-manager/ - supportURL: https://aws.amazon.com/secrets-manager/ + displayName: "AWS Secrets Manager" + description: "AWS Secrets Manager Interfaces" + documentationURL: https://capact.io/docs + supportURL: https://aws.amazon.com/secrets-manager iconURL: https://storage.googleapis.com/dashboard-icons/aws.svg maintainers: - email: team-dev@capact.io diff --git a/manifests/interface/aws/secrets-manager/storage.yaml b/manifests/interface/aws/secrets-manager/storage.yaml new file mode 100644 index 00000000..2b84963b --- /dev/null +++ b/manifests/interface/aws/secrets-manager/storage.yaml @@ -0,0 +1,15 @@ +ocfVersion: 0.0.1 +revision: 0.1.0 +kind: InterfaceGroup +metadata: + prefix: "cap.interface.aws.secrets-manager" + name: "storage" + displayName: "AWS Secrets Manager Storage" + description: "Interfaces for AWS Secrets Manager Storage" + documentationURL: https://capact.io/docs + supportURL: https://aws.amazon.com/secrets-manager + iconURL: https://storage.googleapis.com/dashboard-icons/aws.svg + maintainers: + - email: team-dev@capact.io + name: Capact Dev Team + url: https://capact.io diff --git a/manifests/interface/aws/secrets-manager/storage/install.yaml b/manifests/interface/aws/secrets-manager/storage/install.yaml index 2403958e..edc96132 100644 --- a/manifests/interface/aws/secrets-manager/storage/install.yaml +++ b/manifests/interface/aws/secrets-manager/storage/install.yaml @@ -7,7 +7,7 @@ metadata: displayName: "Install" description: "Installs AWS Secrets Manager storage" documentationURL: https://capact.io/docs - supportURL: https://aws.amazon.com/secrets-manager/ + supportURL: https://aws.amazon.com/secrets-manager iconURL: https://storage.googleapis.com/dashboard-icons/aws.svg maintainers: - email: team-dev@capact.io @@ -24,19 +24,20 @@ spec: { "$schema": "http://json-schema.org/draft-07/schema", "type": "object", - "required": [ "region" ], "properties": { "region": { "$id": "#/properties/region", "type": "string", - "description": "AWS region" + "description": "AWS region", + "default": "eu-west-1" } - } + }, + "additionalProperties": false } output: typeInstances: - config: + aws-sm-storage: typeRef: path: cap.type.aws.secrets-manager.storage revision: 0.1.0 diff --git a/manifests/type/aws/secrets-manager/storage-install-input.yaml b/manifests/type/aws/secrets-manager/storage-install-input.yaml index d8705e3c..3942fac0 100644 --- a/manifests/type/aws/secrets-manager/storage-install-input.yaml +++ b/manifests/type/aws/secrets-manager/storage-install-input.yaml @@ -7,7 +7,7 @@ metadata: displayName: Additional input description: Additional input for AWS Secrets Manager storage installation documentationURL: https://capact.io/docs - supportURL: https://aws.amazon.com/secrets-manager/ + supportURL: https://aws.amazon.com/secrets-manager iconURL: https://storage.googleapis.com/dashboard-icons/aws.svg maintainers: - email: team-dev@capact.io diff --git a/manifests/type/aws/secrets-manager/storage.yaml b/manifests/type/aws/secrets-manager/storage.yaml index 7f64ece2..fd684050 100644 --- a/manifests/type/aws/secrets-manager/storage.yaml +++ b/manifests/type/aws/secrets-manager/storage.yaml @@ -7,13 +7,15 @@ metadata: displayName: AWS Secrets Manager storage description: AWS Secrets Manager storage backend for Capact Local Hub documentationURL: https://aws.amazon.com/secrets-manager/ - supportURL: https://aws.amazon.com/secrets-manager/ + supportURL: https://aws.amazon.com/secrets-manager iconURL: https://storage.googleapis.com/dashboard-icons/aws.svg maintainers: - email: team-dev@capact.io name: Capact Dev Team url: https://capact.io spec: + additionalRefs: + - cap.core.type.hub.storage jsonSchema: value: |- { @@ -21,10 +23,16 @@ spec: "type": "object", "title": "The root schema for AWS Secrets Manager Local Hub storage", "required": [ + "url", "acceptValue", "contextSchema" ], "properties": { + "url": { + "$id": "#/properties/url", + "type": "string", + "format": "uri" + }, "contextSchema": { "$id": "#/properties/contextSchema", "type": "null",