{"id":23104138,"url":"https://github.com/glueops/codespaces","last_synced_at":"2026-05-31T03:00:52.304Z","repository":{"id":57916134,"uuid":"529127781","full_name":"GlueOps/codespaces","owner":"GlueOps","description":"Contains the full codespaces/devcontainers setup at GlueOps. If you need to make a change to the version of a tool we are using across the team is the repo to make the change in. Supports devbox packages too","archived":false,"fork":false,"pushed_at":"2026-05-16T11:09:45.000Z","size":681,"stargazers_count":3,"open_issues_count":8,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-16T13:23:40.896Z","etag":null,"topics":["allow-auto-merge","aws","container","debian","devcontainer","docker","glueops-platform","hetzner","packer","qmeu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GlueOps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-26T05:32:13.000Z","updated_at":"2026-05-13T22:33:48.000Z","dependencies_parsed_at":"2023-10-17T04:43:06.872Z","dependency_job_id":"745231ee-e744-4f19-a862-568bb63346a0","html_url":"https://github.com/GlueOps/codespaces","commit_stats":null,"previous_names":[],"tags_count":282,"template":false,"template_full_name":null,"purl":"pkg:github/GlueOps/codespaces","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlueOps%2Fcodespaces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlueOps%2Fcodespaces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlueOps%2Fcodespaces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlueOps%2Fcodespaces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GlueOps","download_url":"https://codeload.github.com/GlueOps/codespaces/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlueOps%2Fcodespaces/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33717419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["allow-auto-merge","aws","container","debian","devcontainer","docker","glueops-platform","hetzner","packer","qmeu"],"created_at":"2024-12-17T00:31:32.928Z","updated_at":"2026-05-31T03:00:52.259Z","avatar_url":"https://github.com/GlueOps.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# codespaces\n\n## Description: \n\nThis repo contains all the environmental tools/dependencies to deploy the entire glueops platform. Tools include but are not limited to: terraform, helm, kubectl, devbox/nix, etc. We primarily use this repository in all of our codespaces as well as github actions. Ref: https://github.com/GlueOps/glueops/blob/%F0%9F%9A%80%F0%9F%92%8E%F0%9F%99%8C%F0%9F%9A%80/.devcontainer/devcontainer.json#L5\n\n## DevBox\n\nSince we have devbox installed any packages/tools that aren't installed (e.g. python) can easily be fetched from https://www.nixhub.io/\n\nHere is a quick getting started with devbox: https://jetify.com/docs/devbox/quickstart/#create-a-development-environment\n\n```bash\ndevbox init\ndevbox add python@3.10\ndevbox shell\npython --version\n```\n\n# Releasing:\n- Please stick to semver standards when dropping a new tag.\n- Once you publish a release a new image will be built and uploaded to GHCR.io: https://github.com/GlueOps/codespaces/pkgs/container/codespaces\n- Please tag the release as a `pre-release` this will prevent it from being pulled by production users whie it's still building. Once the AWS/QMEU/etc. pipelines have finished, and after you have tested the `pre-release` go ahead and update the release to `latest release`. [Here is a quick video on promoting from pre-release to the latest release](https://github.com/user-attachments/assets/e94b4b34-9aa7-4440-a3d7-8c49cf32f2ea)\n\n\n\n**Note:** Due to the connection between the packer workflows and the Docker build/publish workflow, it's not possible to cut a release from any branch other than `main`. Some limitations in GitHub prevent the actions checkout step in the packer workflows from accurately determining the parent commit SHA, which defaults to `main`. Therefore, if you're testing changes outside of the Dockerfile, this method may not provide accurate results. One potential solution is to combine all the workflows, but this would result in a runtime of an hour or more.\n\n\n# QA / Testing:\n\nTo test a `pre-release` you will first to do the following:\n1) Make sure a nonprod/stage provisioner API functioning is working and has a node for you to test with.\n2) In the nonprod slack channel for the developer workspaces (e.g. `#testing-developer-workspaces`) run `!vm` and you should see the `pre-release` tag.\n3) Select the `pre-release` tag and login to the VM as normal.\n4) Once you change to the `vscode` user, run `export ENVIRONMENT=nonprod` and then run `dev` as usual\n5) You should now see the `pre-release` tag you created earlier as part of the release process, select it and preform your tests.\n\n\n# Local Dev / Running packer locally:\n\nIt's best to just reference the github workflows under `.github/workflows` the packer workflows for each respective cloud start with `packer-*`. For each respective cloud you will notice env variables are being passed into a github action step. To do this locally, you will need to create credentials for the respective cloud and then `export` the applicable environment variables before running the `packer build` command.\n\n### Break Glass Setup\n\nIf you are having issues spinning up a VM using our automation, just create a VM/Server with a provider of your choice and run these commands:\n\n```bash\n# Optional, export GLUEOPS_CODESPACES_CONTAINER_TAG if you want to specify a specific version. Otherwise the latest release will be grabbed/pulled. Note: if the latest release was just published then it may not be available for download yet and the bootstrap may fail\n# export GLUEOPS_CODESPACES_CONTAINER_TAG=v0.129.0 #update tag to latest version found here: https://github.com/GlueOps/codespaces/releases\ncurl -sL setup.glueops.dev | bash\nsudo tailscale up --ssh\n```\n\n_Note:_ as of April 2025 we have been using Debian 12 as our base Operating System. It's possible Debian 13 or newer work but we haven't tested it yet.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglueops%2Fcodespaces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglueops%2Fcodespaces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglueops%2Fcodespaces/lists"}