Skip to content

Commit a8a6307

Browse files
sksprashantrakh
authored andcommitted
Test the flow
Signed-off-by: prashantrakh <prashantrakh@stackgen.com>
1 parent 3db2647 commit a8a6307

File tree

6 files changed

+52
-12
lines changed

6 files changed

+52
-12
lines changed

.github/workflows/publish-deployer.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ jobs:
4444
push: true
4545
provenance: false
4646
labels: ${{ steps.meta.outputs.labels }}
47+
secrets: |
48+
gh_token=${{ secrets.STACKGEN_IMAGE_PULL_SECRET }}
4749
annotations: |
4850
com.github.actions.name=${{ github.workflow }}
4951
com.github.actions.description=${{ github.workflow }}

deployer-image/Dockerfile

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
FROM alpine AS test_schema_creator
2+
3+
WORKDIR /app
4+
5+
COPY marketplace/data-test/schema.yaml .
6+
7+
RUN --mount=type=secret,id=gh_token \
8+
apk add --no-cache yq && \
9+
yq -i ".properties.stackgenPat.default = \"$(cat /run/secrets/gh_token)\"" schema.yaml
10+
111
# Stage 1: Preprocessing schema.yaml
212
FROM marketplace.gcr.io/google/debian10 AS build
313

@@ -28,12 +38,13 @@ COPY --from=build /workspace/schema.yaml /data/schema.yaml
2838
# Copy Kubernetes manifests
2939
COPY marketplace/manifests /data/manifest/
3040

31-
# Copy Terraform configurations
32-
COPY terraform/ /data/terraform/
33-
COPY marketplace/data-test/ /data-test/
34-
# Copy deployment script
41+
COPY marketplace/data-test/manifest/ /data-test/manifest/
42+
COPY --from=test_schema_creator /app/schema.yaml /data-test/schema.yaml
3543
COPY scripts/deploy.sh /data/deploy.sh
3644
RUN chmod +x /data/deploy.sh
3745

46+
# Copy Terraform configurations
47+
COPY terraform/ /data/terraform/
48+
3849
# Define entrypoint
3950
ENTRYPOINT ["/data/deploy.sh"]

deployer-image/Makefile

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ MANIFEST_DIR := marketplace/manifests
66

77
# Semantic minor version (TRACK) and full release version
88
# TODO(sabith) read from tag
9-
TRACK ?= 1.0
10-
RELEASE ?= ${TRACK}.1
9+
TRACK ?= 1.1
10+
RELEASE ?= ${TRACK}.0
1111

1212
# Docker registry and image names
1313
REGISTRY = gcr.io/stackgen-gcp-marketplace
@@ -20,16 +20,23 @@ DEPLOYER_IMAGE_TRACK := $(REGISTRY)/$(APP_NAME)/deployer:$(TRACK)
2020
all: help
2121

2222
build:
23+
@gh_token=$(shell gh auth token) \
2324
docker buildx build \
2425
--platform linux/amd64 \
2526
--platform linux/arm64 \
27+
--secret id=gh_token \
2628
--annotation "com.googleapis.cloudmarketplace.product.service.name=services/stackgen-enterprise-platform-k8s-v2.endpoints.stackgen-gcp-marketplace.cloud.goog" \
2729
-t $(DEPLOYER_IMAGE_RELEASE) \
30+
-t $(DEPLOYER_IMAGE_TRACK) \
2831
.
2932
# Build, tag, and push the image in a single command
3033
push: build
31-
docker pushb $(DEPLOYER_IMAGE_RELEASE)
32-
@echo "Tagging and pushing deployer image for TRACK: $(DEPLOYER_IMAGE_TRACK)"
34+
# push both architectures
35+
36+
docker push \
37+
$(DEPLOYER_IMAGE_RELEASE)
38+
docker push \
39+
$(DEPLOYER_IMAGE_TRACK)
3340

3441
setup:
3542
@echo "Setting up mpdev..."
Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11
properties:
22
imageTester:
33
type: string
4-
default: marketplace.gcr.io/google/debian10:latest
4+
default: marketplace.gcr.io/google/debian10:latest
5+
domain:
6+
type: string
7+
title: Domain
8+
description: Domain for deployment.
9+
default: "go.cloud.stackgen.com"
10+
stackgenPat:
11+
type: string
12+
title: Stackgen Personal Access Token
13+
description: Access token for Stackgen.
14+
default: "YOUR_STACKGEN_PAT"
15+
pre_shared_cert_name:
16+
type: string
17+
title: Pre-shared Certificate Name
18+
description: The name of the pre-shared SSL certificate created in your GCP account. This certificate is used for HTTPS connections in the GCE Ingress configuration.
19+
default: "go-cloud-stackgen-com"
20+
global_static_ip_name:
21+
type: string
22+
title: Global Static IP Name
23+
description: The name of the global static IP reserved in your GCP account. This IP is used for associating with GCE Ingress.
24+
default: 34.8.2.217

deployer-image/marketplace/manifests/application.yaml.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metadata:
1010
spec:
1111
descriptor:
1212
type: terraform-runner
13-
version: "1.0.5"
13+
version: "1.1.0"
1414
selector:
1515
matchLabels:
1616
app.kubernetes.io/name: "$name"

deployer-image/marketplace/schema.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ x-google-marketplace:
33
partnerId: "my-partner-id" # Replace with your actual Partner ID
44
solutionId: "my-product-id" # Replace with your actual Product ID
55
applicationApiVersion: v1beta1
6-
publishedVersion: "1.0.5"
6+
publishedVersion: "1.1.0"
77
publishedVersionMetadata:
88
releaseNote: "Initial release with Job support."
99
images:
@@ -29,7 +29,7 @@ properties:
2929
type: string
3030
title: suffix
3131
description: suffix example name.
32-
default: "deployer"
32+
default: "stackgen-app"
3333
stackgenPat:
3434
type: string
3535
title: Stackgen Personal Access Token

0 commit comments

Comments
 (0)