You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/lib/static/blogcontent/blogcontent.json
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@
32
32
"description": null,
33
33
"date": null,
34
34
"path": "docs/features/template-variables",
35
-
"body": "## Overview\n\nLifecycle uses [Mustache](https://github.com/janl/mustache.js) as the template rendering engine.\n\n## Available Template Variables\n\nThe following template variables are available for use within your configuration. Variables related to specific services should use the service name as a prefix.\n\n### General Variables\n\n- **`{{{ buildUUID }}}`** - The unique identifier for the Lifecycle environment, e.g., `lively-down-881123`.\n- **`{{{ namespace }}}`** - Namespace for the deployments, e.g., `env-lively-down-881123`.\n- **`{{{ pullRequestNumber }}}`** - The GitHub pull request number associated with the environment.\n\n### Service-Specific Variables\n\nFor service-specific variables, replace `` with the actual service name.\n\n- **`{{{ _internalHostname }}}`** - The internal hostname of the deployed service. If the service is optional and not deployed, it falls back to `defaultInternalHostname`.\n\n \n `service_internalHostname` will be substituted with local cluster full\n domain name like `service.namespace.svc.cluster.local` to be able to work\n with deployments across namespaces.\n \n\n- **`{{{ _publicUrl }}}`** - The public URL of the deployed service. If optional and not deployed, it defaults to `defaultPublicUrl` under the `services` table.\n- **`{{{ _sha }}}`** - The GitHub SHA that triggered the Lifecycle build.\n- **`{{{ _branchName }}}`** - The branch name of the pull request that deployed the environment.\n- **`{{{ _UUID }}}`** - The build UUID of the service. If listed under `optionalServices` or `defaultServices`, its value depends on whether the service is selected:\n - If selected, it is equal to `buildUUID`.\n - If not selected (or if service not part of deploys created), it defaults to **`dev-0`**.\n\n## Usage Example\n\n```yaml\nservices:\n frontend:\n # ...\n env:\n API_URL: \"{{{ backend_publicUrl }}}\"\n UUID: \"{{{ buildUUID }}}\"\n```\n\nThis ensures the `PUBLIC_URL` and `INTERNAL_HOST` variables are dynamically assigned based on the ephemeral environment deployment.\n\n \n- Undefined variables will result in an empty string unless handled explicitly.\n- Use triple curly braces (`{{{ }}}`) to prevent unwanted HTML escaping.\n- Ensure service names are correctly referenced in the template.\n\n\nFor more details, refer to the [Mustache.js documentation](https://github.com/janl/mustache.js)."
35
+
"body": "## Overview\n\nLifecycle uses [Mustache](https://github.com/janl/mustache.js) as the template rendering engine.\n\n## Available Template Variables\n\nThe following template variables are available for use within your configuration. Variables related to specific services should use the service name as a prefix.\n\n### General Variables\n\n- **`{{{buildUUID}}}`** - The unique identifier for the Lifecycle environment, e.g., `lively-down-881123`.\n- **`{{{namespace}}}`** - Namespace for the deployments, e.g., `env-lively-down-881123`.\n- **`{{{pullRequestNumber}}}`** - The GitHub pull request number associated with the environment.\n\n### Service-Specific Variables\n\nFor service-specific variables, replace `` with the actual service name.\n\n- **`{{{_internalHostname}}}`** - The internal hostname of the deployed service. If the service is optional and not deployed, it falls back to `defaultInternalHostname`.\n\n \n `service_internalHostname` will be substituted with local cluster full\n domain name like `service.namespace.svc.cluster.local` to be able to work\n with deployments across namespaces.\n \n\n- **`{{{_publicUrl}}}`** - The public URL of the deployed service. If optional and not deployed, it defaults to `defaultPublicUrl` under the `services` table.\n- **`{{{_sha}}}`** - The GitHub SHA that triggered the Lifecycle build.\n- **`{{{_branchName}}}`** - The branch name of the pull request that deployed the environment.\n- **`{{{_UUID}}}`** - The build UUID of the service. If listed under `optionalServices` or `defaultServices`, its value depends on whether the service is selected:\n - If selected, it is equal to `buildUUID`.\n - If not selected (or if service not part of deploys created), it defaults to **`dev-0`**.\n\n## Usage Example\n\n```yaml\nservices:\n frontend:\n # ...\n env:\n API_URL: \"{{{backend_publicUrl}}}\"\n UUID: \"{{{buildUUID}}}\"\n```\n\nThis ensures the `PUBLIC_URL` and `INTERNAL_HOST` variables are dynamically assigned based on the ephemeral environment deployment.\n\n \n- Undefined variables will result in an empty string unless handled explicitly.\n- Use triple curly braces (`{{{ }}}`) to prevent unwanted HTML escaping.\n- Ensure service names are correctly referenced in the template without any spaces.\n\n\nFor more details, refer to the [Mustache.js documentation](https://github.com/janl/mustache.js)."
36
36
},
37
37
{
38
38
"title": "Service Dependencies",
@@ -46,7 +46,7 @@
46
46
"description": null,
47
47
"date": null,
48
48
"path": "docs/setup/install-lifecycle",
49
-
"body": "Now that the infrastructure components are setup, let's install the lifecycle app and create a new Github app that will send events to the application to process and create ephemeral dev environments.\n\n\n Make sure you have updated the kube config to be able to `helm install` in the\n cluster you just created!\n\n\n- Clone the repository:\n\n```sh\ngit clone https://github.com/GoodRxOSS/lifecycle\ncd lifecycle\n```\n\n- Update the custom values file at `/helm/environments/defaults.yaml`:\n\n```yaml\ncomponents:\n #... other settings\n\n ingress:\n enabled: true\n ingressClassName: nginx\n annotations:\n cert-manager.io/cluster-issuer: letsencrypt\n hosts:\n - host: app. # Update this with your domain\n paths: [\"/\"]\n#... other settings\n```\n\n- Install the Lifecycle Helm chart:\n\n```sh\nhelm install lifecycle helm/web-app --namespace lifecycle-app --values ./helm/environments/default/lifecycle.yaml\n```\n\n- Wait for the installation to complete and verify that the pods are running:\n\n```sh\nkubectl get pods -n lifecycle-app\n```\n\n\n Make sure to replace values with your actual domain and update the secret name\n accordingly. Secret was created by the opentofu modules in the infrastructure\n setup (`app--`).\n\n\n- Once the pods are running, you can access the application at your configured domain (e.g. `https://app.0env.com`)\n\n\n\nJust like that, you have successfully installed Lifecycle and set up the necessary infrastructure to start creating ephemeral environments for your GitHub pull requests!\n\nLet's move on to the next step where we will create a GitHub app to connect Lifecycle with your repositories."
49
+
"body": "Now that the infrastructure components are setup, let's install the lifecycle app and create a new Github app that will send events to the application to process and create ephemeral dev environments.\n\n\n Make sure you have updated the kube config to be able to `helm install` in the\n cluster you just created!\n\n\n- Clone the repository:\n\n```sh\ngit clone https://github.com/GoodRxOSS/lifecycle\ncd lifecycle\n```\n\n- Install the Lifecycle Helm chart:\n\n```sh\nhelm upgrade -i lifecycle helm/web-app --namespace lifecycle-app --values ./helm/environments/default/lifecycle.yaml --set components.web.ingress.hosts\\[0\\].host=app.\n```\n\n\n Make sure to replace values with your actual domain.\n\n\n- Wait for the installation to complete and verify that the pods are running:\n\n```sh\nkubectl get pods -n lifecycle-app\n```\n\n- Once the pods are running, you can access the application at your configured domain (e.g. `https://app.0env.com`)\n\n\n\nJust like that, you have successfully installed Lifecycle and set up the necessary infrastructure to start creating ephemeral environments for your GitHub pull requests!\n\nIf you notice any secure certificate issues when accessing the application, you can check the status of your certificate using the following command:\n\n```sh\nkubectl get certificate -n lifecycle-app\n```\n\n\n\nMake sure the certificate is in the `Ready` state. If it is not, you may need to wait a bit longer for the certificate to be issued or troubleshoot any issues with your DNS settings.\n\nLet's move on to the next step where we will create a GitHub app to connect Lifecycle with your repositories."
50
50
},
51
51
{
52
52
"title": "Prerequisites",
@@ -158,6 +158,6 @@
158
158
"description": "Use the Mission Control PR Comment to modify and customize your environment directly from the pull request comment.",
159
159
"date": null,
160
160
"path": "docs/tips/using-mission-control",
161
-
"body": "Lifecycle uses **Mission Control PR Comments** to allow users to modify and customize their environments directly from the pull request comment. This enables easy **service selection**, **branch customization**, and **environment variable overrides** without modifying `lifecycle.yaml`.\n\n---\n\n## Selecting and Deselecting Services\n\nEach pull request environment includes **default services** and optional additional services. You can enable or disable services using the checkboxes.\n\n- **Enabled Services** are marked with `[x]`.\n- **Disabled Services** are marked with `[ ]`.\n\n**Example:**\n\n```md\n// Default Services\n\n- [x] frontend: dev-default\n- [x] fastly: main\n\n// Optional Additional Services\n\n- [ ] backend-service: main\n- [ ] backend-db: main\n- [ ] backend-cache: main\n```\n\nTo **enable** a service, change `[ ]` to `[x]`. To **disable** a service, change `[x]` to `[ ]`. As simple as that!\n\n\n If you need to make multiple selections or deselections at once, use the\n **Edit Comment** option instead of clicking checkboxes individually. This\n prevents multiple back-to-back builds, as each selection triggers an event in\n Lifecycle without deduplication.\n\n\n## Choosing a Branch\n\nTo deploy a specific branch for a service, modify the branch name after the service name.\n\n**Example:**\n\n```md\n- [x] frontend: feature-branch\n- [x] fastly: main\n```\n\nThis will deploy `frontend` using the `feature-branch` instead of the default branch.\n\n## Overriding Environment Variables\n\nTo set additional environment variables, use the **Override Environment Variables** section in the PR comment.\n\n**Example:**\n\n```md\n// **Override Environment Variables:** _ENV:[KEY]:[VALUE]_\nENV:API_URL:https://api.custom.dev.0env.com\nENV:CHIEF_INTERN:ICEYCAKE\n```\n\nThis sets `API_URL` and `CHIEF_INTERN` in the environment without modifying the service configuration.\n\n## Override UUID\n\nTo set a custom UUID (subdomain) for the environment, use the **Override UUID** section in the PR comment.\n\n```md\n// UUID (Pick your own custom subdomain)\nurl: quiet-breeze-882712\n```\n\nReplace `quiet-breeze-882712` with your desired subdomain. This allows you to customize the environment URL without changing the underlying service configuration.\n\n---\n\nUsing the **Mission Control PR Comment**, you can easily customize your environment **without modifying code**, making it a flexible way to test and deploy changes dynamically."
161
+
"body": "Lifecycle uses **Mission Control PR Comments** to allow users to modify and customize their environments directly from the pull request comment. This enables easy **service selection**, **branch customization**, and **environment variable overrides** without modifying `lifecycle.yaml`.\n\n---\n\n## Selecting and Deselecting Services\n\nEach pull request environment includes **default services** and optional additional services. You can enable or disable services using the checkboxes.\n\n- **Enabled Services** are marked with `[x]`.\n- **Disabled Services** are marked with `[ ]`.\n\n**Example:**\n\n```md\n// Default Services\n\n- [x] frontend: dev-default\n- [x] fastly: main\n\n// Optional Additional Services\n\n- [ ] backend-service: main\n- [ ] backend-db: main\n- [ ] backend-cache: main\n```\n\nTo **enable** a service, change `[ ]` to `[x]`. To **disable** a service, change `[x]` to `[ ]`. As simple as that!\n\n\n If you need to make multiple selections or deselections at once, use the\n **Edit Comment** option instead of clicking checkboxes individually. This\n prevents multiple back-to-back builds, as each selection triggers an event in\n Lifecycle without deduplication.\n\n\n## Choosing a Branch\n\nTo deploy a specific branch for a service, modify the branch name after the service name.\n\n**Example:**\n\n```md\n- [x] frontend: feature-branch\n- [x] fastly: main\n```\n\nThis will deploy `frontend` using the `feature-branch` instead of the default branch.\n\n## Overriding Environment Variables\n\nTo set additional environment variables, use the **Override Environment Variables** section in the PR comment.\n\n**Example:**\n\n```md\n// **Override Environment Variables:** _ENV:[KEY]:[VALUE]_\nENV:API_URL:https://api.custom.dev.0env.com\nENV:CHIEF_INTERN:ICEYCAKE\n```\n\nThis sets `API_URL` and `CHIEF_INTERN` in the environment without modifying the service configuration.\n\n## Override UUID\n\nTo set a custom UUID (subdomain) for the environment, use the **Override UUID** section in the PR comment.\n\n```md\n// UUID (Pick your own custom subdomain)\nurl: wagon-builder-060825\n```\n\nReplace `wagon-builder-060825` with your desired subdomain. This allows you to customize the environment URL without changing the underlying service configuration.\n\n---\n\nUsing the **Mission Control PR Comment**, you can easily customize your environment **without modifying code**, making it a flexible way to test and deploy changes dynamically."
0 commit comments