{"id":32900692,"url":"https://github.com/yaml/yaml-survey","last_synced_at":"2026-04-20T14:06:04.772Z","repository":{"id":323223176,"uuid":"1091133729","full_name":"yaml/yaml-survey","owner":"yaml","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-08T22:46:58.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-04T04:05:30.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/yaml.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":"2025-11-06T15:48:19.000Z","updated_at":"2025-11-08T22:47:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yaml/yaml-survey","commit_stats":null,"previous_names":["yaml/yaml-survey"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yaml/yaml-survey","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaml%2Fyaml-survey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaml%2Fyaml-survey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaml%2Fyaml-survey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaml%2Fyaml-survey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yaml","download_url":"https://codeload.github.com/yaml/yaml-survey/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaml%2Fyaml-survey/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32050454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-11-10T13:01:11.721Z","updated_at":"2026-04-20T14:06:04.765Z","avatar_url":"https://github.com/yaml.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YAML Infrastructure Surveys\n\nThis directory contains survey definitions, the form creation script, and the router page for directing respondents to the appropriate survey.\n\n## Directory Structure\n\n```\nsurvey/\n├── index.html                 # Router/landing page\n├── requirements.txt           # Python dependencies\n├── config.yaml                # Auto-generated URL tracking (created by script)\n├── credentials.json           # OAuth credentials (you create this)\n├── token.pickle               # Auth tokens (auto-generated)\n├── bin/\n│   ├── publish-survey        # Form creation script\n│   ├── make-index            # Index generation script\n│   └── README.md             # Script documentation\n├── survey/\n│   ├── engineers.yaml         # Engineers survey definition\n│   ├── devops-managers.yaml   # DevOps/Platform managers survey\n│   └── executives.yaml        # Executives survey definition\n└── detailed/\n    ├── engineers.md           # Detailed engineers survey (markdown)\n    ├── devops-managers.md     # Detailed DevOps/Platform managers survey\n    └── executives.md          # Detailed executives survey\n```\n\n## Quick Start\n\n### 1. Create Google Forms\n\n```bash\ncd bin\n# Process all surveys at once\n./publish-survey ../survey/*.yaml\n\n# Or run individually\n./publish-survey ../survey/engineers.yaml\n./publish-survey ../survey/devops-managers.yaml\n./publish-survey ../survey/executives.yaml\n```\n\nSee `bin/README.md` for detailed setup instructions.\n\nAll generated URLs will be saved to `config.yaml`.\n\n### 2. Update Router Page\n\nUpdate `index.html` with the form URLs from `config.yaml`:\n\n1. Open `index.html` in a text editor\n2. Find the `FORM_URLS` object in the `\u003cscript\u003e` section\n3. Replace placeholder URLs with actual URLs from `config.yaml`:\n\n```javascript\nconst FORM_URLS = {\n    engineer: 'YOUR_ENGINEERS_FORM_URL',      // From config.yaml: engineers-form-url\n    devops: 'YOUR_DEVOPS_FORM_URL',           // From config.yaml: devops-managers-form-url\n    leadership: 'YOUR_EXECUTIVES_FORM_URL'    // From config.yaml: executives-form-url\n};\n```\n\n4. Enable the survey cards by removing `disabled` class and updating hrefs (see instructions below)\n\n### 3. Deploy Router Page\n\nHost `index.html` using one of these options (see Deployment Options below for details):\n- GitHub Pages\n- Netlify Drop\n- Your own domain\n\n## Survey Router Page\n\nThe `index.html` file is a landing page that presents three survey options:\n- **Engineers** - For software engineers, developers, and technical contributors\n- **DevOps/Platform Teams** - For DevOps engineers, SREs, and platform team leads\n- **Engineering Leadership** - For CTOs, VPs of Engineering, and decision-makers\n\n### Enabling Survey Cards\n\nOnce you've created a form and have its URL:\n\n1. **Get the form URL** from `config.yaml`\n2. **Update the FORM_URLS object** in `index.html`:\n   ```javascript\n   const FORM_URLS = {\n       engineer: 'https://docs.google.com/forms/d/YOUR_ID/viewform',\n       devops: 'https://docs.google.com/forms/d/YOUR_ID/viewform',\n       leadership: 'https://docs.google.com/forms/d/YOUR_ID/viewform'\n   };\n   ```\n\n3. **Enable the card** by removing the `disabled` class. For example, to enable DevOps:\n   ```html\n   \u003c!-- Change from: --\u003e\n   \u003ca href=\"#\" class=\"role-card disabled\" onclick=\"return false;\"\u003e\n\n   \u003c!-- To: --\u003e\n   \u003ca href=\"DEVOPS_FORM_URL\" class=\"role-card\" id=\"devops-card\"\u003e\n   ```\n\n4. **Remove the \"Coming Soon\" badge**:\n   ```html\n   \u003c!-- Delete this line: --\u003e\n   \u003cspan class=\"coming-soon\"\u003eComing Soon\u003c/span\u003e\n   ```\n\n5. **Update the JavaScript** to set the href:\n   ```javascript\n   document.getElementById('devops-card').href = FORM_URLS.devops;\n   ```\n\n### Deployment Options\n\n#### Option 1: GitHub Pages (Free \u0026 Easy)\n\n1. Push the `index.html` file to a GitHub repository\n2. Go to repository Settings \u003e Pages\n3. Select the branch and folder containing `index.html`\n4. GitHub will provide a URL like: `https://yourusername.github.io/repo-name/survey/`\n\n#### Option 2: Netlify Drop (Free \u0026 Instant)\n\n1. Go to [drop.netlify.com](https://app.netlify.com/drop)\n2. Drag and drop the `survey` folder (or just `index.html`)\n3. Get an instant URL like: `https://random-name.netlify.app`\n\n#### Option 3: Google Cloud Storage\n\n1. Upload `index.html` to a GCS bucket\n2. Enable public access\n3. Use bucket URL or map to custom domain\n\n#### Option 4: Your Own Domain\n\n1. Host on any web server (nginx, Apache, etc.)\n2. Upload `index.html` to your web root\n3. Access via your custom domain\n\n### Customization\n\nYou can customize the router page by editing `index.html`:\n\n- **Colors**: Modify the gradient colors in the CSS (line ~12-14)\n- **Icons**: Change the emoji icons in the role cards (line ~58, ~67, ~76)\n- **Text**: Update descriptions, footer content, etc.\n- **Branding**: Add your logo or adjust styling to match your brand\n\n### Testing Locally\n\n```bash\n# Simple Python HTTP server\ncd survey\npython3 -m http.server 8000\n\n# Then open: http://localhost:8000/index.html\n```\n\nOr just open `index.html` directly in your browser.\n\n## Survey Definitions\n\nThree surveys are available in `survey/`:\n\n### Engineers Survey (`engineers.yaml`)\n- **Target audience**: Software engineers, developers, technical contributors\n- **Focus**: Technical usage patterns, pain points, tooling needs\n- **Estimated time**: 5-7 minutes\n- **Sections**: 7 sections covering usage, challenges, security, tooling, and support interest\n\n### DevOps/Platform Managers Survey (`devops-managers.yaml`)\n- **Target audience**: DevOps engineers, SREs, platform team leads\n- **Focus**: Operational challenges, team efficiency, scale management\n- **Estimated time**: 5-7 minutes\n- **Sections**: 7 sections covering team info, scale, productivity, security, tooling, and budget\n\n### Executives Survey (`executives.yaml`)\n- **Target audience**: CTOs, VPs of Engineering, technology leadership\n- **Focus**: Strategic risk assessment, governance, investment decisions\n- **Estimated time**: 5 minutes\n- **Sections**: 7 sections covering dependencies, risk, compliance, impact, and procurement\n\n## Creating New Surveys\n\nTo create additional survey variations:\n\n1. **Create a new YAML file** in `survey/`:\n   ```bash\n   cp survey/engineers.yaml survey/new-survey.yaml\n   ```\n\n2. **Edit the survey structure** following the YAML format (see `bin/README.md` for format details)\n\n3. **Generate the Google Form**:\n   ```bash\n   cd bin\n   ./publish-survey ../survey/new-survey.yaml\n   ```\n\n4. **URLs are automatically saved** to `config.yaml`\n\n5. **Update the router page** if needed\n\n## Distribution\n\nOnce deployed, you can:\n- Share the router page URL at conferences (like KubeCon)\n- Include it in email campaigns\n- Add QR codes on printed materials pointing to the page\n- Embed it on yaml.com or other websites\n- Share on social media or community forums\n\nThe router ensures respondents take the survey most relevant to their role, improving response quality and data organization.\n\n## URL Management\n\nThe script automatically tracks all generated URLs in `config.yaml`:\n\n```yaml\nengineers-form-url: https://docs.google.com/forms/d/.../viewform\nengineers-edit-url: https://docs.google.com/forms/d/.../edit\nengineers-sheet-url: https://docs.google.com/spreadsheets/d/.../edit\ndevops-managers-form-url: https://...\ndevops-managers-edit-url: https://...\ndevops-managers-sheet-url: https://...\nexecutives-form-url: https://...\nexecutives-edit-url: https://...\nexecutives-sheet-url: https://...\n```\n\n**Key types:**\n- `-form-url`: Public URL for respondents to fill out the survey\n- `-edit-url`: Admin URL for customizing the form\n- `-sheet-url`: Response spreadsheet for viewing/analyzing data\n\nThis makes it easy to:\n- Reference URLs without searching through terminal output\n- Update the router page (`index.html`)\n- Share the correct URLs with different stakeholders\n- Keep track of multiple survey versions\n\n## Next Steps\n\n1. **Set up Google Cloud credentials** (see `bin/README.md`)\n2. **Create all three forms** using the script\n3. **Link response spreadsheets** (manual step in Google Forms UI)\n4. **Update router page** with form URLs from `config.yaml`\n5. **Deploy router page** to hosting service\n6. **Test all forms** before sharing publicly\n7. **Configure form settings** (sharing, collection, notifications)\n\n## Getting Help\n\n- **Script issues**: See `bin/README.md` troubleshooting section\n- **YAML format questions**: See `bin/README.md` YAML format section\n- **Router page customization**: Edit `index.html` directly\n- **Form configuration**: Use Google Forms UI after creation\n\n## About\n\nThese surveys help us understand how organizations use YAML infrastructure and what support they need. Your feedback directly informs product development and support offerings.\n\n**YAML LLC** is being founded by Ingy döt Net (co-creator of YAML) to provide professional maintenance and enterprise support for critical YAML infrastructure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaml%2Fyaml-survey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaml%2Fyaml-survey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaml%2Fyaml-survey/lists"}