edenlabllc/GitLab flow action for tenant bootstrap repositories

Action for provisioning and destroying clusters, updating and synchronizing releases, and managing project dependencies.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
allowed_environmentsAllowed environments participating in releases for RMK commands.yesdevelop,staging
cluster_provider_credentialsCredentials in JSON format for different environments and cluster providers. Example: cluster_provider_credentials: | { "develop": { "cluster_providers": { "aws": { "AWS_ACCESS_KEY_ID": "<aws_access_key_id>", "AWS_SECRET_ACCESS_KEY": "<aws_secret_access_key>", "AWS_REGION": "us-east-1" }, "azure": { "AZURE_CLIENT_ID": "<azure_client_id>", "AZURE_CLIENT_SECRET": "<azure_client_secret>", "AZURE_LOCATION": "eastus", "AZURE_SUBSCRIPTION_ID": "<azure_subscription_id>", "AZURE_TENANT_ID": "<azure_tenant_id>" }, "gcp": { "GOOGLE_APPLICATION_CREDENTIALS": { "type": "service_account", "project_id": "<google_project_id>", "private_key_id": "<google_private_key_id>", "private_key": "-----BEGIN PRIVATE KEY-----<example_cert>-----END PRIVATE KEY-----", "client_email": "example@example.iam.gserviceaccount.com", "client_id": "<google_client_id>", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example%40example.iam.gserviceaccount.com", "universe_domain": "googleapis.com" }, "GCP_REGION": "us-east1" }, "onprem": { "ONPREM_SSH_INIT_SERVER_HOST": "<ssh_init_server_[host|ip]>", "ONPREM_SSH_PRIVATE_KEY": "<ssh_private_key>", "ONPREM_SSH_USER": "<ssh_user>" } } }, "production": { "cluster_providers": { "aws": { "AWS_ACCESS_KEY_ID": "<aws_access_key_id>", "AWS_SECRET_ACCESS_KEY": "<aws_secret_access_key>", "AWS_REGION": "us-east-1" }, "azure": { "AZURE_CLIENT_ID": "<azure_client_id>", "AZURE_CLIENT_SECRET": "<azure_client_secret>", "AZURE_LOCATION": "eastus", "AZURE_SUBSCRIPTION_ID": "<azure_subscription_id>", "AZURE_TENANT_ID": "<azure_tenant_id>" }, "gcp": { "GOOGLE_APPLICATION_CREDENTIALS": { "type": "service_account", "project_id": "<google_project_id>", "private_key_id": "<google_private_key_id>", "private_key": "-----BEGIN PRIVATE KEY-----<example_cert>-----END PRIVATE KEY-----", "client_email": "example@example.iam.gserviceaccount.com", "client_id": "<google_client_id>", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example%40example.iam.gserviceaccount.com", "universe_domain": "googleapis.com" }, "GCP_REGION": "us-east1" }, "onprem": { "ONPREM_SSH_INIT_SERVER_HOST": "<ssh_init_server_[host|ip]>", "ONPREM_SSH_PRIVATE_KEY": "<ssh_private_key>", "ONPREM_SSH_USER": "<ssh_user>" } } }, "staging": { "cluster_providers": { "aws": { "AWS_ACCESS_KEY_ID": "<aws_access_key_id>", "AWS_SECRET_ACCESS_KEY": "<aws_secret_access_key>", "AWS_REGION": "us-east-1" }, "azure": { "AZURE_CLIENT_ID": "<azure_client_id>", "AZURE_CLIENT_SECRET": "<azure_client_secret>", "AZURE_LOCATION": "eastus", "AZURE_SUBSCRIPTION_ID": "<azure_subscription_id>", "AZURE_TENANT_ID": "<azure_tenant_id>" }, "gcp": { "GOOGLE_APPLICATION_CREDENTIALS": { "type": "service_account", "project_id": "<google_project_id>", "private_key_id": "<google_private_key_id>", "private_key": "-----BEGIN PRIVATE KEY-----<example_cert>-----END PRIVATE KEY-----", "client_email": "example@example.iam.gserviceaccount.com", "client_id": "<google_client_id>", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example%40example.iam.gserviceaccount.com", "universe_domain": "googleapis.com" }, "GCP_REGION": "us-east1" }, "onprem": { "ONPREM_SSH_INIT_SERVER_HOST": "<ssh_init_server_[host|ip]>", "ONPREM_SSH_PRIVATE_KEY": "<ssh_private_key>", "ONPREM_SSH_USER": "<ssh_user>" } } } } yes
github_custom_refCustom Git ref (e.g. refs/heads/branch-name) used to override GITHUB_REF for dynamic checkouts.no""
github_custom_ref_nameCustom branch name (e.g. branch-name) used to override GITHUB_REF_NAME in matrix jobs or custom workflows.no""
github_token_repo_full_accessGitHub token with full access permissions to repositories (used by installer script and RMK).yes
rmk_cluster_providerCluster provider. Allowed values are "aws", "azure", "gcp", "onprem".yesaws
rmk_commandRMK command to run. Allowed values are "destroy", "helmfile_validate", "project_update", "provision", "release_destroy", "release_sync", "release_update".yes
rmk_destroy_labelsList of labels when running release destroy in RMK (only if rmk_command=destroy|release_destroy). Labels are not used if rmk_destroy_skip_release_destroy=true and rmk_command=destroy. Example: rmk_destroy_labels: | scope=kodjin app=fhir-server-api no""
rmk_destroy_skip_release_destroyWhether to skip release destroy when running destroy in RMK (only if rmk_command=destroy).nofalse
rmk_download_urlURL of the download script for RMK installation. Example: rmk_download_url: https://edenlabllc-rmk.s3.eu-north-1.amazonaws.com/rmk/s3-installer nohttps://edenlabllc-rmk.s3.eu-north-1.amazonaws.com/rmk/s3-installer
rmk_project_dependency_nameDependency name. Allows using a set of RMK commands to project dependency version update to project.yaml file (only if rmk_command=project_update).no
rmk_project_dependency_versionDependency version. Allows using a set of RMK commands to project dependency version update to project.yaml file (only if rmk_command=project_update).no
rmk_provision_skip_release_syncWhether to skip release sync when running provision in RMK (only if rmk_command=provision).nofalse
rmk_release_repository_full_nameImage repository full name of application (includes registry URL and repository_name, only if rmk_command=release_update).no
rmk_release_versionCurrent application version (only if rmk_command=release_update).no
rmk_slack_channelChannel name for Slack notification (required if rmk_slack_notifications=true).no""
rmk_slack_message_detailsAdditional information in the body of the Slack message (only if rmk_slack_notifications=true). Example: rmk_slack_message_details: | GitHub Actions Build URL: <github.server_url>/<github.repository>/actions/runs/<github.run_id> GitHub Actions Build Number: <github.run_number> no""
rmk_slack_notificationsEnable Slack notifications.nofalse
rmk_slack_webhookURL for Slack webhook (required if rmk_slack_notifications=true).no""
rmk_sync_labelsList of labels when running sync in RMK (only if rmk_command=provision|release_sync). Labels are not used if rmk_provision_skip_release_sync=true and rmk_command=provision. Example: rmk_sync_labels: | scope=kodjin app=fhir-server-api no""
rmk_update_skip_deployWhether to skip deploy and commit only when running release update in RMK (only if rmk_command=release_update).nofalse
rmk_versionRMK version.nolatest
namedescription
environmentCurrent CD environment.
git_branchGit branch.
rmk_project_dependency_nameProject dependency name.
rmk_project_dependency_versionProject dependency version.
rmk_release_repository_full_nameImage repository full name of application (includes registry URL and repository_name).
rmk_release_versionCurrent application version.