firebase
This module provides a reusable pipeline to automate the deployment process of Firebase applications.It handles dependency installation, building (with VITE environment injection), and deployment
using Google Cloud Workload Identity Federation for secure authentication.
Installation
dagger install github.com/StaytunedLLP/daggerverse/firebase@v0.0.2Entrypoint
Return Type
Firebase Example
dagger -m github.com/StaytunedLLP/daggerverse/firebase@92c3c7f83cf9ea03b6c4de28a32adf7c601b2839 call \
func (m *MyModule) Example() *dagger.Firebase {
return dag.
Firebase()
}@function
def example() -> dagger.Firebase:
return (
dag.firebase()
)@func()
example(): Firebase {
return dag
.firebase()
}Types
Firebase 🔗
firebaseDeploy() 🔗
Main reusable pipeline to build and deploy Firebase applications.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory ! | - |
|
| projectId | String ! | - |
|
| gcpCredentials | Secret ! | - |
|
| appId | String | - |
|
| only | String | - |
|
| frontendDir | String | - |
|
| backendDir | String | - |
|
| firebaseDir | String | - |
|
| webappConfig | Secret | - |
|
| extraEnv | Secret | - |
|
Example
dagger -m github.com/StaytunedLLP/daggerverse/firebase@92c3c7f83cf9ea03b6c4de28a32adf7c601b2839 call \
firebase-deploy --source DIR_PATH --project-id string --gcp-credentials env:MYSECRETfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory, projectId string, gcpCredentials *dagger.Secret) string {
return dag.
Firebase().
FirebaseDeploy(ctx, source, projectId, gcpCredentials)
}@function
async def example(source: dagger.Directory, project_id: str, gcp_credentials: dagger.Secret) -> str:
return await (
dag.firebase()
.firebase_deploy(source, project_id, gcp_credentials)
)@func()
async example(source: Directory, projectId: string, gcpCredentials: Secret): Promise<string> {
return dag
.firebase()
.firebaseDeploy(source, projectId, gcpCredentials)
}lint() 🔗
Validates code quality using npm run lint.
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory ! | - |
|
| frontendDir | String | - |
|
| backendDir | String | - |
|
Example
dagger -m github.com/StaytunedLLP/daggerverse/firebase@92c3c7f83cf9ea03b6c4de28a32adf7c601b2839 call \
lint --source DIR_PATHfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory) {
return dag.
Firebase().
Lint(ctx, source)
}@function
async def example(source: dagger.Directory) -> None:
return await (
dag.firebase()
.lint(source)
)@func()
async example(source: Directory): Promise<void> {
return dag
.firebase()
.lint(source)
}