{"id":22261893,"url":"https://github.com/muhlba91/muehlbachler-shared-services","last_synced_at":"2025-03-25T13:42:10.258Z","repository":{"id":199301997,"uuid":"695007837","full_name":"muhlba91/muehlbachler-shared-services","owner":"muhlba91","description":"muehlbachler: Shared Services","archived":false,"fork":false,"pushed_at":"2024-10-29T10:04:29.000Z","size":858,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-29T12:08:44.916Z","etag":null,"topics":["shared-services"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muhlba91.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-22T06:47:53.000Z","updated_at":"2024-10-29T10:04:14.000Z","dependencies_parsed_at":"2024-03-08T08:29:36.800Z","dependency_job_id":"35b9cd44-79a2-4060-a01f-9559081d15c8","html_url":"https://github.com/muhlba91/muehlbachler-shared-services","commit_stats":null,"previous_names":["muhlba91/muehlbachler-shared-services"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhlba91%2Fmuehlbachler-shared-services","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhlba91%2Fmuehlbachler-shared-services/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhlba91%2Fmuehlbachler-shared-services/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhlba91%2Fmuehlbachler-shared-services/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muhlba91","download_url":"https://codeload.github.com/muhlba91/muehlbachler-shared-services/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245472835,"owners_count":20621180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["shared-services"],"created_at":"2024-12-03T09:14:50.019Z","updated_at":"2025-03-25T13:42:10.234Z","avatar_url":"https://github.com/muhlba91.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `muehlbachler`: Shared Services\n\n[![Build status](https://img.shields.io/github/actions/workflow/status/muhlba91/muehlbachler-shared-services/pipeline.yml?style=for-the-badge)](https://github.com/muhlba91/muehlbachler-shared-services/actions/workflows/pipeline.yml)\n[![License](https://img.shields.io/github/license/muhlba91/muehlbachler-shared-services?style=for-the-badge)](LICENSE.md)\n[![](https://api.scorecard.dev/projects/github.com/muhlba91/muehlbachler-shared-services/badge?style=for-the-badge)](https://scorecard.dev/viewer/?uri=github.com/muhlba91/muehlbachler-shared-services)\n\nThis repository contains the Shared Services for `muehlbachler` using [Pulumi](http://pulumi.com).\n\n---\n\n## Requirements\n\n- [NodeJS](https://nodejs.org/en), and [yarn](https://yarnpkg.com)\n- [Pulumi](https://www.pulumi.com/docs/install/)\n\n## Creating the Infrastructure\n\nTo create the services, a [Pulumi Stack](https://www.pulumi.com/docs/concepts/stack/) with the correct configuration needs to exists.\n\nThe stack can be deployed via:\n\n```bash\nyarn install\nyarn build; pulumi up\n```\n\n## Destroying the Infrastructure\n\nThe entire infrastructure can be destroyed via:\n\n```bash\nyarn install\nyarn build; pulumi destroy\n```\n\n## Environment Variables\n\nTo successfully run, and configure the Pulumi plugins, you need to set a list of environment variables. Alternatively, refer to the used Pulumi provider's configuration documentation.\n\n- `CLOUDSDK_CORE_PROJECT`: the Google Cloud (GCP) project\n- `CLOUDSDK_COMPUTE_REGION` the Google Cloud (GCP) region\n- `GOOGLE_APPLICATION_CREDENTIALS`: reference to a file containing the Google Cloud (GCP) service account credentials\n- `AWS_REGION`: the AWS region\n- `AWS_ACCESS_KEY_ID`: the AWS access key identifier\n- `AWS_SECRET_ACCESS_KEY`: the AWS secret access key\n\n---\n\n## Configuration\n\nThe following section describes the configuration which must be set in the Pulumi Stack.\n\n***Attention:*** do use [Secrets Encryption](https://www.pulumi.com/docs/concepts/secrets/#:~:text=Pulumi%20never%20sends%20authentication%20secrets,“secrets”%20for%20extra%20protection.) provided by Pulumi for secret values!\n\n### AWS\n\nThe AWS configuration contains all shared services hosten on AWS.\n\n```yaml\naws:\n  postgres: the specification of the RDS PostgreSQL instance\n    name: the instance name\n    backupRetention: the number of days to keep automated backups\n    deletionProtection: protect the instance from deletion; if true it will also keep automated backups on delete\n    engine: the engine to use (needs to be 'postgres')\n    engineVersion: the PostgreSQL engine version to use (see https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html for options)\n    dbAdminUser: the database admin user (needs to be 'postgres')\n    instanceClass: the instance class identifier (e.g. db.t4g.micro)\n    storage: the storage specification (autoexpansion enabled)\n      allocated: the default allocated storage in GB (min. 20)\n      maximum: the maximum storage the instance can expand to\n    vpc: VPC data to host the instance in\n      ipv6Only: true if the VPC should be IPv6 only - this provides cost savings due to IPv4 charges; not working for RDS!\n      cidr: IPv4 CIDR for the VPC/subnet to create\n      ipv6Cidr: IPv6 CIDR for the VPC/subnet to create\n```\n\n*Note*: to get the latest PostgreSQL engine version for a given PostgreSQL major version you can run `aws rds describe-db-engine-versions --engine postgres --default-only --db-parameter-group-family 'postgres14'`.\n\n---\n\n## Continuous Integration and Automations\n\n- [GitHub Actions](https://docs.github.com/en/actions) are linting, and verifying the code.\n- [Renovate Bot](https://github.com/renovatebot/renovate) is updating NodeJS packages, and GitHub Actions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhlba91%2Fmuehlbachler-shared-services","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuhlba91%2Fmuehlbachler-shared-services","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhlba91%2Fmuehlbachler-shared-services/lists"}