{"id":20102936,"url":"https://github.com/stackrox/automation-standard","last_synced_at":"2025-07-29T12:36:27.666Z","repository":{"id":57746170,"uuid":"229150249","full_name":"stackrox/automation-standard","owner":"stackrox","description":"🤖 A micro-framework for building standardized cluster automation entrypoints","archived":false,"fork":false,"pushed_at":"2022-08-02T18:02:21.000Z","size":33,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-02T17:25:25.380Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stackrox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2019-12-19T22:43:03.000Z","updated_at":"2023-04-11T20:34:23.000Z","dependencies_parsed_at":"2022-09-01T20:41:51.184Z","dependency_job_id":null,"html_url":"https://github.com/stackrox/automation-standard","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/stackrox/automation-standard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackrox%2Fautomation-standard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackrox%2Fautomation-standard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackrox%2Fautomation-standard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackrox%2Fautomation-standard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stackrox","download_url":"https://codeload.github.com/stackrox/automation-standard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackrox%2Fautomation-standard/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267686638,"owners_count":24127733,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"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":[],"created_at":"2024-11-13T17:33:43.676Z","updated_at":"2025-07-29T12:36:27.617Z","avatar_url":"https://github.com/stackrox.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automation Standard\n\n🤖 A micro-framework for building standardized cluster automation entrypoints\n\n## Installing\n\nYou can fetch this library by running the following:\n\n```bash\n$ go get -u github.com/stackrox/automation-standard\n```\n\n## Motivations\n\nGiven that there is a need for various cluster automations (GKE, OpenShift, Istio, KOPS, etc), standardizing on how those automations are configured is beneficial.\n\nAdditionally, integrating these automations into hard-to-debug-systems leads to things failing in strange ways because they were partially or misconfigured.\n\nThis library is opinionated, explicit, and strict as an effort to eliminate as many unknowns across these service boundaries as possible.\n\n## Usage\n\n```go\npackage main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\tstandard \"github.com/stackrox/automation-standard\"\n)\n\nfunc main() {\n\tcfg := standard.Application{\n\t\tName:        \"example\",\n\t\tDescription: \"Automation Standard example application\",\n\t\tHomepage:    \"https://github.com/stackrox/automation-standard\",\n\t\tVersion:     \"v0.0.0\",\n\t\t\n\t\tCreate: standard.Action{\n\t\t\tInputs: []standard.Parameter{\n\t\t\t\t{\n\t\t\t\t\tName:        \"GOOGLE_APPLICATION_CREDENTIALS\",\n\t\t\t\t\tDescription: \"Location of GCP service account credential file\",\n\t\t\t\t\tSource:      standard.Environment,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName:        \"main-image\",\n\t\t\t\t\tDescription: \"Main image tag\",\n\t\t\t\t\tSource:      standard.Flag,\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandler: create,\n\t\t},\n\t\t\n\t\tDestroy: standard.Action{\n\t\t\tInputs: []standard.Parameter{\n\t\t\t\t{\n\t\t\t\t\tName:        \"GOOGLE_APPLICATION_CREDENTIALS\",\n\t\t\t\t\tDescription: \"Location of GCP service account credential file\",\n\t\t\t\t\tSource:      standard.Environment,\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandler: destroy,\n\t\t},\n\t}\n\n\tstandard.Run(cfg)\n}\n\nfunc create(ctx context.Context, parameters map[string]string) error {\n\tfmt.Println(\"Hello from create()\")\n\tfmt.Printf(\"Deploying %s\\n\", parameters[\"main-image\"])\n\treturn nil\n}\n\nfunc destroy(ctx context.Context, parameters map[string]string) error {\n\tfmt.Println(\"Hello from destroy()\")\n\treturn nil\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackrox%2Fautomation-standard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstackrox%2Fautomation-standard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackrox%2Fautomation-standard/lists"}