@@ -61,12 +61,12 @@ const createGithubWebhook = async (namespace: string, service) => {
6161 auth : account . access_token ,
6262 } ) ;
6363 return await ok . repos . createWebhook ( {
64- owner : service . ghPackageOwner ,
65- repo : service . ghPackageRepo ,
64+ owner : service . annotations [ "apps.deploycat.io/gh-package-owner" ] ,
65+ repo : service . annotations [ "apps.deploycat.io/gh-package-repo" ] ,
6666 config : {
6767 url : `${ config ?. publicurl } /api/webhooks/github/apps/${ namespace } /${ service . name } /package` ,
6868 content_type : "json" ,
69- secret : service . webhookSecret ,
69+ secret : service . annotations [ "apps.deploycat.io/gh-webhook-secret" ] ,
7070 } ,
7171 events : [ "package" ] ,
7272 active : true ,
@@ -75,15 +75,10 @@ const createGithubWebhook = async (namespace: string, service) => {
7575
7676const createServiceFromForm = async ( form : FormData ) => {
7777 "use server" ;
78+ const source = form . get ( "source" ) as string ;
7879 const service = {
7980 name : form . get ( "name" ) as string ,
80- source : form . get ( "source" ) as string ,
8181 image : form . get ( "image" ) as string ,
82- ghPackage : form . get ( "ghPackage" ) as string ,
83- ghPackageTag : form . get ( "ghPackageTag" ) as string ,
84- ghPackageName : form . get ( "ghPackageName" ) as string ,
85- ghPackageOwner : form . get ( "ghPackageOwner" ) as string ,
86- ghPackageRepo : form . get ( "ghPackageRepo" ) as string ,
8782 port : Number ( form . get ( "port" ) ) as number ,
8883 resources : {
8984 cpuLimit : toNumber ( form . get ( "cpuLimit" ) ) ,
@@ -94,26 +89,33 @@ const createServiceFromForm = async (form: FormData) => {
9489 maxRequests : toNumber ( form . get ( "maxRequests" ) ) ,
9590 } ,
9691 envVars : JSON . parse ( form . get ( "env" ) as string ) as { [ key : string ] : string } ,
92+ annotations : {
93+ "apps.deploycat.io/gh-package" : form . get ( "ghPackage" ) ,
94+ "apps.deploycat.io/gh-package-repo" : form . get ( "ghPackageRepo" ) ,
95+ "apps.deploycat.io/gh-package-name" : form . get ( "ghPackageName" ) ,
96+ "apps.deploycat.io/gh-package-owner" : form . get ( "ghPackageOwner" ) ,
97+ "apps.deploycat.io/gh-package-tag" : form . get ( "ghPackageTag" ) ,
98+ } ,
9799 } as Service ;
98100
99101 const user = await getUser ( ) ;
100- if ( service ?. source === "ghcr" ) {
102+ if ( source === "ghcr" ) {
101103 try {
102- service . webhookSecret = crypto . randomBytes ( 16 ) . toString ( "hex" ) ;
103104 await ensureGithubPullSecret ( user . name ) ;
105+ service . annotations [ "apps.deploycat.io/gh-webhook-secret" ] = crypto
106+ . randomBytes ( 16 )
107+ . toString ( "hex" ) ;
104108 const { data : hook } = await createGithubWebhook ( user . name , service ) ;
105- service . annotations = {
106- "apps.deploycat.io/gh-webhook-id" : hook . id . toString ( ) ,
107- "apps.deploycat.io/gh-repo" : service . ghPackageRepo ,
108- } ;
109+ service . annotations [ "apps.deploycat.io/gh-webhook-id" ] =
110+ hook . id . toString ( ) ;
109111 } catch ( e ) {
110112 console . error ( e ) ;
111113 }
112- service . image = `ghcr.io/${ service . ghPackageOwner } /${ service . ghPackageName } :${ service . ghPackageTag } ` ;
114+ service . image = `ghcr.io/${ service . annotations [ "apps.deploycat.io/gh-package-owner" ] } /${ service . annotations [ "apps.deploycat.io/gh-package-name" ] } :${ service . annotations [ "apps.deploycat.io/gh-package-tag" ] } ` ;
113115 service . pullSecret = "pull-secret-ghcr" ;
114116 }
115117 try {
116- await knative . createService ( service , user . name , service . source ) ;
118+ await knative . createService ( service , user . name , source ) ;
117119 } catch ( e ) {
118120 console . error ( e ) ;
119121 }
0 commit comments