From 9f2ff1d31aee9a8c33c9896794d6ad3fd50a8d41 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Fri, 8 Sep 2017 19:36:43 +0100 Subject: [PATCH] terraform: revamp the providers list (#29097) This fixes the ./update-all script to actually fetch all the available providers (thanks pagination). It was also improver to user a more compact representation of the data. --- .../cluster/terraform/providers/data.nix | 585 +++++++++++------- .../cluster/terraform/providers/default.nix | 21 +- .../cluster/terraform/providers/template.nix | 16 - .../cluster/terraform/providers/update-all | 48 +- 4 files changed, 417 insertions(+), 253 deletions(-) delete mode 100644 pkgs/applications/networking/cluster/terraform/providers/template.nix diff --git a/pkgs/applications/networking/cluster/terraform/providers/data.nix b/pkgs/applications/networking/cluster/terraform/providers/data.nix index 76eaa21a42c..0778e221c12 100644 --- a/pkgs/applications/networking/cluster/terraform/providers/data.nix +++ b/pkgs/applications/networking/cluster/terraform/providers/data.nix @@ -1,333 +1,486 @@ +# Generated with ./update-all { + alicloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-alicloud"; + version = "0.1.0"; + sha256 = "199zrpmi1hqy80nrvdhh5pn7vlcvpjcsf0hpwgzb1r9vnydpz7cj"; + }; + archive = + { + owner = "terraform-providers"; + repo = "terraform-provider-archive"; + version = "0.1.0"; + sha256 = "1g7bjak1vgxpnmp4b9cb3mq8gqp1a7738fj0sxzflfk8k35p27ri"; + }; + arukas = + { + owner = "terraform-providers"; + repo = "terraform-provider-arukas"; + version = "0.1.0"; + sha256 = "1msfr0rlzjfds02h35p99d1f541a1fzndjcpgijb41yx74h2v5dl"; + }; + atlas = + { + owner = "terraform-providers"; + repo = "terraform-provider-atlas"; + version = "0.1.1"; + sha256 = "0k73vv14vnjl5qm33w54s5zzi0mmk1kn2zs3qkfq71aqi9ml7d14"; + }; aws = { - pname = "terraform-provider-aws"; + owner = "terraform-providers"; + repo = "terraform-provider-aws"; version = "0.1.4"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-aws"; - rev = "v0.1.4"; - sha256 = "0hqyvp1bgyfqq2lkjq5m5qxybagnxl9zrqiqfnlrfigdp0y31iz8"; - }; + sha256 = "0hqyvp1bgyfqq2lkjq5m5qxybagnxl9zrqiqfnlrfigdp0y31iz8"; + }; + azure = + { + owner = "terraform-providers"; + repo = "terraform-provider-azure"; + version = "0.1.1"; + sha256 = "11myqq3wnxvpysjycvwg7b14ll8d9vkn06xb3r26kmc42fkl5xv1"; }; azurerm = { - pname = "terraform-provider-azurerm"; + owner = "terraform-providers"; + repo = "terraform-provider-azurerm"; version = "0.1.6"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-azurerm"; - rev = "v0.1.6"; - sha256 = "01hjr42gpkpwpz0chnkw8pf0yid0hqpdnfz65q5h2p8h627hg0c6"; - }; + sha256 = "01hjr42gpkpwpz0chnkw8pf0yid0hqpdnfz65q5h2p8h627hg0c6"; }; bitbucket = { - pname = "terraform-provider-bitbucket"; + owner = "terraform-providers"; + repo = "terraform-provider-bitbucket"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-bitbucket"; - rev = "v0.1.0"; - sha256 = "0c5aiq0p425h7c600wg5h3601l40airwz6cs724lc72fycbb4s43"; - }; + sha256 = "0c5aiq0p425h7c600wg5h3601l40airwz6cs724lc72fycbb4s43"; }; chef = { - pname = "terraform-provider-chef"; + owner = "terraform-providers"; + repo = "terraform-provider-chef"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-chef"; - rev = "v0.1.0"; - sha256 = "17fppyhxi0rd5v8khw2psdn2hdv5j79hxhinwkzrq5s4iccqk5dw"; - }; + sha256 = "17fppyhxi0rd5v8khw2psdn2hdv5j79hxhinwkzrq5s4iccqk5dw"; }; circonus = { - pname = "terraform-provider-circonus"; + owner = "terraform-providers"; + repo = "terraform-provider-circonus"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-circonus"; - rev = "v0.1.0"; - sha256 = "0v05g91yg2zh4wczp8mi3hmvwb35z0y9044bwy67nm1l624xlj64"; - }; + sha256 = "0v05g91yg2zh4wczp8mi3hmvwb35z0y9044bwy67nm1l624xlj64"; + }; + clc = + { + owner = "terraform-providers"; + repo = "terraform-provider-clc"; + version = "0.1.0"; + sha256 = "0gvsjnwk6xkgxai1gxsjf0hsjxbv8d8jg5hq8yd3hjhc6785fgnf"; + }; + cloudflare = + { + owner = "terraform-providers"; + repo = "terraform-provider-cloudflare"; + version = "0.1.0"; + sha256 = "073j0kqkccj7yrqz6j4vx722vmy6mmvmgidamkjnhhjcwm6g1jbq"; }; cloudstack = { - pname = "terraform-provider-cloudstack"; + owner = "terraform-providers"; + repo = "terraform-provider-cloudstack"; version = "0.1.1"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-cloudstack"; - rev = "v0.1.1"; - sha256 = "09iqxpc5a6938qj1js2y9s4dcgk7hw69xga56ixpbbknms2yrhnb"; - }; + sha256 = "09iqxpc5a6938qj1js2y9s4dcgk7hw69xga56ixpbbknms2yrhnb"; }; cobbler = { - pname = "terraform-provider-cobbler"; + owner = "terraform-providers"; + repo = "terraform-provider-cobbler"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-cobbler"; - rev = "v0.1.0"; - sha256 = "1867aqlz1v7scybaia9yakaxw76lh6y2whhajv5pqy1ng58rcgiz"; - }; + sha256 = "1867aqlz1v7scybaia9yakaxw76lh6y2whhajv5pqy1ng58rcgiz"; }; consul = { - pname = "terraform-provider-consul"; + owner = "terraform-providers"; + repo = "terraform-provider-consul"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-consul"; - rev = "v0.1.0"; - sha256 = "1d179m42iv2dy6wjzldllffwg6qxbg6gnvxrp6nzy75v7qp2aq94"; - }; + sha256 = "1d179m42iv2dy6wjzldllffwg6qxbg6gnvxrp6nzy75v7qp2aq94"; }; datadog = { - pname = "terraform-provider-datadog"; + owner = "terraform-providers"; + repo = "terraform-provider-datadog"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-datadog"; - rev = "v0.1.0"; - sha256 = "1k3p0zxffhabs1xb6aw9189vbmh3ax10q4xi1qgjfjvla22byqmk"; - }; + sha256 = "1k3p0zxffhabs1xb6aw9189vbmh3ax10q4xi1qgjfjvla22byqmk"; + }; + digitalocean = + { + owner = "terraform-providers"; + repo = "terraform-provider-digitalocean"; + version = "0.1.2"; + sha256 = "0wn2bx9zk0fqvrn7a76rffin7f1b70p66h5bs9073szhr3zph7hg"; }; dme = { - pname = "terraform-provider-dme"; + owner = "terraform-providers"; + repo = "terraform-provider-dme"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-dme"; - rev = "v0.1.0"; - sha256 = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv"; - }; + sha256 = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv"; + }; + dns = + { + owner = "terraform-providers"; + repo = "terraform-provider-dns"; + version = "0.1.1"; + sha256 = "0ccp02rbvfvrb808mg053q5y7ghvxsl7p1gzw7pkm934i6j90g9n"; }; dnsimple = { - pname = "terraform-provider-dnsimple"; + owner = "terraform-providers"; + repo = "terraform-provider-dnsimple"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-dnsimple"; - rev = "v0.1.0"; - sha256 = "0gkd5i69ldm5zn34p3k68aqk798g6g0d60gw7yp316l7mskvrx7h"; - }; + sha256 = "0gkd5i69ldm5zn34p3k68aqk798g6g0d60gw7yp316l7mskvrx7h"; + }; + docker = + { + owner = "terraform-providers"; + repo = "terraform-provider-docker"; + version = "0.1.0"; + sha256 = "1nacxkyy12w4rj1bdf5ayqmmm47nwh362pcksr227rkwmsjlmg1m"; }; dyn = { - pname = "terraform-provider-dyn"; + owner = "terraform-providers"; + repo = "terraform-provider-dyn"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-dyn"; - rev = "v0.1.0"; - sha256 = "1w727r2gz5hjmbzw9zir0n5nrr818adh4qj50n3vijqwbxciyq2p"; - }; + sha256 = "1w727r2gz5hjmbzw9zir0n5nrr818adh4qj50n3vijqwbxciyq2p"; + }; + external = + { + owner = "terraform-providers"; + repo = "terraform-provider-external"; + version = "0.1.0"; + sha256 = "160f0avv6wbh11z54wy0qcq0zrcj4s31kn7a9x6zikv7v4hfnbza"; + }; + fastly = + { + owner = "terraform-providers"; + repo = "terraform-provider-fastly"; + version = "0.1.2"; + sha256 = "1z7nsgqqzvily9rxr79yjv6jfx56896c9lxb8flmzwjz6b6mvnz7"; + }; + github = + { + owner = "terraform-providers"; + repo = "terraform-provider-github"; + version = "0.1.1"; + sha256 = "0f6nk9nb8h8247rz7x1w11amp0qdcmy1alr8jgd2chrjv9f8nif0"; + }; + gitlab = + { + owner = "terraform-providers"; + repo = "terraform-provider-gitlab"; + version = "0.1.0"; + sha256 = "1xjhpaq2agdshrl5jbq9ak2nxdy86iay5bw16zww2qc5ah21sdg2"; }; google = { - pname = "terraform-provider-google"; + owner = "terraform-providers"; + repo = "terraform-provider-google"; version = "0.1.3"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-google"; - rev = "v0.1.3"; - sha256 = "1aa1hz0yc4g746m6dl04hc70rcrzx0py8kpdch3kim475bspclnf"; - }; + sha256 = "1aa1hz0yc4g746m6dl04hc70rcrzx0py8kpdch3kim475bspclnf"; + }; + grafana = + { + owner = "terraform-providers"; + repo = "terraform-provider-grafana"; + version = "0.1.0"; + sha256 = "1m2anc5cyn2p3yh4zn0y6wvzb0s2fz3sfdqm9psvx53266c2c81q"; + }; + heroku = + { + owner = "terraform-providers"; + repo = "terraform-provider-heroku"; + version = "0.1.0"; + sha256 = "1f72lm95bnkhaf2accypdn7xsxcgkqri5fq5mriya4n34c61z3l6"; }; http = { - pname = "terraform-provider-http"; + owner = "terraform-providers"; + repo = "terraform-provider-http"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-http"; - rev = "v0.1.0"; - sha256 = "1iy5fsl1j4wswbajnw0k6lagc2sz52idnswj1vmfc66x87ls0mah"; - }; + sha256 = "1iy5fsl1j4wswbajnw0k6lagc2sz52idnswj1vmfc66x87ls0mah"; + }; + icinga2 = + { + owner = "terraform-providers"; + repo = "terraform-provider-icinga2"; + version = "0.1.1"; + sha256 = "0z7lxrspm33j7bkkm2n7ac0jgyaz3y3lql3gd30p10nvpilrg07v"; }; ignition = { - pname = "terraform-provider-ignition"; - version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-ignition"; - rev = "v0.1.0"; - sha256 = "03jvngd3fjyqmdzg2847p0k2fjyqykgmdng5vss4rcsn0n3b9d39"; - }; + owner = "terraform-providers"; + repo = "terraform-provider-ignition"; + version = "0.2.0"; + sha256 = "07qsyjzbz34nh7qrmw97sg0zrqbchky9r3ywrdz96pmpr1yjmwr7"; }; influxdb = { - pname = "terraform-provider-influxdb"; + owner = "terraform-providers"; + repo = "terraform-provider-influxdb"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-influxdb"; - rev = "v0.1.0"; - sha256 = "0msc6maxsiwmsg8ppdfj1397c66llhaf15nc4hmr2h6dxqkb5wl5"; - }; + sha256 = "0msc6maxsiwmsg8ppdfj1397c66llhaf15nc4hmr2h6dxqkb5wl5"; + }; + kubernetes = + { + owner = "terraform-providers"; + repo = "terraform-provider-kubernetes"; + version = "1.0.0"; + sha256 = "1kh7a83f98v6b4v3zj84ddhrg2hya4nmvrw0mjc26q12g4z2d5g6"; + }; + librato = + { + owner = "terraform-providers"; + repo = "terraform-provider-librato"; + version = "0.1.0"; + sha256 = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923"; + }; + local = + { + owner = "terraform-providers"; + repo = "terraform-provider-local"; + version = "0.1.0"; + sha256 = "02m0wg0jasnzrayamjsc2hzi0ibj83v4d0hmw2xbrxk7vmk71lgq"; }; logentries = { - pname = "terraform-provider-logentries"; + owner = "terraform-providers"; + repo = "terraform-provider-logentries"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-logentries"; - rev = "v0.1.0"; - sha256 = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa"; - }; + sha256 = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa"; }; mailgun = { - pname = "terraform-provider-mailgun"; + owner = "terraform-providers"; + repo = "terraform-provider-mailgun"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-mailgun"; - rev = "v0.1.0"; - sha256 = "1hjhjfxqbr43wa248c6hc91lx5b2gdw4vl92l2i6aqp17rbc0wfj"; - }; + sha256 = "1hjhjfxqbr43wa248c6hc91lx5b2gdw4vl92l2i6aqp17rbc0wfj"; + }; + mysql = + { + owner = "terraform-providers"; + repo = "terraform-provider-mysql"; + version = "0.1.0"; + sha256 = "0vjr97xf15va9qypjb9318h1nxr0sd6ydcy7ijnqb8538v3581mv"; + }; + newrelic = + { + owner = "terraform-providers"; + repo = "terraform-provider-newrelic"; + version = "0.1.1"; + sha256 = "1fqgxcspkgm3ncsqbvw79h5n09agba7q80nz0mrq09x0pyk8y051"; }; nomad = { - pname = "terraform-provider-nomad"; + owner = "terraform-providers"; + repo = "terraform-provider-nomad"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-nomad"; - rev = "v0.1.0"; - sha256 = "03sb31l59hxpp6zmnizxdm21jipz4mrzz9czk6ahhx7c8q0n0na8"; - }; + sha256 = "03sb31l59hxpp6zmnizxdm21jipz4mrzz9czk6ahhx7c8q0n0na8"; + }; + ns1 = + { + owner = "terraform-providers"; + repo = "terraform-provider-ns1"; + version = "0.1.0"; + sha256 = "1in9ggrvxfb3maxhgiv997hndkpnqpgx1c1365lfizhp7km5ncvj"; + }; + null = + { + owner = "terraform-providers"; + repo = "terraform-provider-null"; + version = "0.1.0"; + sha256 = "069yhsqi4jc14cay1gk7mwwmrg8xv90kj1k5qy3a2ypfbss4fcjp"; }; oneandone = { - pname = "terraform-provider-oneandone"; + owner = "terraform-providers"; + repo = "terraform-provider-oneandone"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-oneandone"; - rev = "v0.1.0"; - sha256 = "18bbpcprjib4d4skjdr76xjxi9091h5b3dls68y6bxkk6sh6av1i"; - }; + sha256 = "18bbpcprjib4d4skjdr76xjxi9091h5b3dls68y6bxkk6sh6av1i"; + }; + opc = + { + owner = "terraform-providers"; + repo = "terraform-provider-opc"; + version = "0.1.2"; + sha256 = "0c4ywav89lln9417zwflrp3qhcs7qf96rgcvm1msmpgglrhzwp2i"; + }; + openstack = + { + owner = "terraform-providers"; + repo = "terraform-provider-openstack"; + version = "0.2.1"; + sha256 = "1zsswsgv7lzhfd0v8llbm18gsfg6xji0r3f9rnvpjqkffj4088ca"; }; opsgenie = { - pname = "terraform-provider-opsgenie"; + owner = "terraform-providers"; + repo = "terraform-provider-opsgenie"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-opsgenie"; - rev = "v0.1.0"; - sha256 = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm"; - }; + sha256 = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm"; }; ovh = { - pname = "terraform-provider-ovh"; + owner = "terraform-providers"; + repo = "terraform-provider-ovh"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-ovh"; - rev = "v0.1.0"; - sha256 = "052bnfw146h9nh3cw77clwwxbmw1gvaich2yw39v4b1ca8brm5dr"; - }; + sha256 = "052bnfw146h9nh3cw77clwwxbmw1gvaich2yw39v4b1ca8brm5dr"; + }; + packet = + { + owner = "terraform-providers"; + repo = "terraform-provider-packet"; + version = "0.1.0"; + sha256 = "0dk10d4b10pdlhqgm6fqg0cn0ff78ss1x76inj6gfwrnbn2amhp0"; }; pagerduty = { - pname = "terraform-provider-pagerduty"; + owner = "terraform-providers"; + repo = "terraform-provider-pagerduty"; version = "0.1.2"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-pagerduty"; - rev = "v0.1.2"; - sha256 = "1dqzi53bnk4qcjhlimr13352nzb1nsij7354zapz2sgnz21v89mm"; - }; + sha256 = "1dqzi53bnk4qcjhlimr13352nzb1nsij7354zapz2sgnz21v89mm"; }; postgresql = { - pname = "terraform-provider-postgresql"; + owner = "terraform-providers"; + repo = "terraform-provider-postgresql"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-postgresql"; - rev = "v0.1.0"; - sha256 = "0gg48b2zn18ynvhnabvyfvw5wif0m1a852798wahv8fbv5d1vh7j"; - }; + sha256 = "0gg48b2zn18ynvhnabvyfvw5wif0m1a852798wahv8fbv5d1vh7j"; + }; + powerdns = + { + owner = "terraform-providers"; + repo = "terraform-provider-powerdns"; + version = "0.1.0"; + sha256 = "1k9xjx2smk6478dsrcnqk1k6r2pddpa9n8aghq5d1a5yhfsq5zzz"; }; profitbricks = { - pname = "terraform-provider-profitbricks"; + owner = "terraform-providers"; + repo = "terraform-provider-profitbricks"; version = "0.1.2"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-profitbricks"; - rev = "v0.1.2"; - sha256 = "105l0rijqmp7kmd7wygnhnj02q7y1rz0r8pj2mjzncb5pr48m3qp"; - }; + sha256 = "105l0rijqmp7kmd7wygnhnj02q7y1rz0r8pj2mjzncb5pr48m3qp"; + }; + rabbitmq = + { + owner = "terraform-providers"; + repo = "terraform-provider-rabbitmq"; + version = "0.1.0"; + sha256 = "0vn8456f2al1f6rs1gn157c86qz1fxz8sqphbr9lvdhy1jw1q2vp"; + }; + rancher = + { + owner = "terraform-providers"; + repo = "terraform-provider-rancher"; + version = "0.2.0"; + sha256 = "05aci6cjrs7rv6hqhvcqy1i0nr8azds8flnrc7vba0nyy6v192qg"; + }; + random = + { + owner = "terraform-providers"; + repo = "terraform-provider-random"; + version = "0.1.0"; + sha256 = "1lbv5yiw4qfsqm3gxf37gwadgp7g6ki0n70mj00d8l6v6jd0mdl5"; + }; + rundeck = + { + owner = "terraform-providers"; + repo = "terraform-provider-rundeck"; + version = "0.1.0"; + sha256 = "0rp8cgnp8in52g7zkl2lj42hns0g27m8f7l42lhfnv6n2vv5qxcg"; }; scaleway = { - pname = "terraform-provider-scaleway"; + owner = "terraform-providers"; + repo = "terraform-provider-scaleway"; version = "0.1.1"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-scaleway"; - rev = "v0.1.1"; - sha256 = "145wfcr5zjjk8vgx5xjf1hqh6h8jqxkhxbvv9x1w34i5bv809ch6"; - }; + sha256 = "145wfcr5zjjk8vgx5xjf1hqh6h8jqxkhxbvv9x1w34i5bv809ch6"; + }; + softlayer = + { + owner = "terraform-providers"; + repo = "terraform-provider-softlayer"; + version = "0.0.1"; + sha256 = "1xcg5zm2n1pc3l7ng94k589r7ykv6fxsmr5qn9xmmpdf912rdnfq"; + }; + spotinst = + { + owner = "terraform-providers"; + repo = "terraform-provider-spotinst"; + version = "0.1.0"; + sha256 = "04sxdbx6qjxixrv9shnp8fxkss6pylqmphlm1l4q5c83dwk96pka"; + }; + statuscake = + { + owner = "terraform-providers"; + repo = "terraform-provider-statuscake"; + version = "0.1.0"; + sha256 = "084520cak2krwpks2ipqcjfw3k4rrzn6gqqncz8c4i6g01f1m7yg"; + }; + template = + { + owner = "terraform-providers"; + repo = "terraform-provider-template"; + version = "0.1.1"; + sha256 = "1qrslnkvcj18jzxmsbf72gm54s8dnw5k5z15nffwgy09vv7mzpcn"; + }; + terraform = + { + owner = "terraform-providers"; + repo = "terraform-provider-terraform"; + version = "0.1.0"; + sha256 = "1w465853gwffpydb7idvg7bk8ygadgy08s04fxsqc8i2683jbpiz"; }; tls = { - pname = "terraform-provider-tls"; + owner = "terraform-providers"; + repo = "terraform-provider-tls"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-tls"; - rev = "v0.1.0"; - sha256 = "1n1k4dcqm8lp7mgj88xj8xc09mn769np4wg3cggnpcs6igbgdgg7"; - }; + sha256 = "1n1k4dcqm8lp7mgj88xj8xc09mn769np4wg3cggnpcs6igbgdgg7"; }; triton = { - pname = "terraform-provider-triton"; + owner = "terraform-providers"; + repo = "terraform-provider-triton"; version = "0.1.2"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-triton"; - rev = "v0.1.2"; - sha256 = "1jyrmc7932w7d8q96lmd0axf32psfic5d7hmwm1a25vzjzfn9nlw"; - }; + sha256 = "1jyrmc7932w7d8q96lmd0axf32psfic5d7hmwm1a25vzjzfn9nlw"; }; ultradns = { - pname = "terraform-provider-ultradns"; + owner = "terraform-providers"; + repo = "terraform-provider-ultradns"; version = "0.1.0"; - src = { - owner = "terraform-providers"; - repo = "terraform-provider-ultradns"; - rev = "v0.1.0"; - sha256 = "0bq2y6bxdax7qnmq6vxh8pz9sqy1r3m05dv7q5dbv2xvba1b88hj"; - }; + sha256 = "0bq2y6bxdax7qnmq6vxh8pz9sqy1r3m05dv7q5dbv2xvba1b88hj"; + }; + vault = + { + owner = "terraform-providers"; + repo = "terraform-provider-vault"; + version = "0.1.0"; + sha256 = "1rr4gaqfr6panjjdb5xx9vbq7701zjps0l75zi526kij1pph98p1"; + }; + vcd = + { + owner = "terraform-providers"; + repo = "terraform-provider-vcd"; + version = "1.0.0"; + sha256 = "0sjqdb37lalvizf4imxwn7nmry1c76dw2fpnrfmal34gghddm91p"; + }; + vsphere = + { + owner = "terraform-providers"; + repo = "terraform-provider-vsphere"; + version = "0.2.2"; + sha256 = "0d5d4wip57zmv9kqh4zr9mz8ylffa2qcf1vmx827rwyqdr25xvaz"; }; - # Broken with go/src/github.com/terraform-providers/terraform-provider-vsphere/vendor/github.com/hashicorp/terraform/config/testing.go:9: t.Helper undefined (type *testing.T has no field or method Helper) - # vsphere = - # { - # pname = "terraform-provider-vsphere"; - # version = "0.2.1"; - # src = { - # owner = "terraform-providers"; - # repo = "terraform-provider-vsphere"; - # rev = "v0.2.1"; - # sha256 = "04vz34w28nx7j6wlikgjabrb2l5fxj9icfm8d34w2fffz63nk77l"; - # }; - # }; } diff --git a/pkgs/applications/networking/cluster/terraform/providers/default.nix b/pkgs/applications/networking/cluster/terraform/providers/default.nix index df59439c7bf..8d41df24d8c 100644 --- a/pkgs/applications/networking/cluster/terraform/providers/default.nix +++ b/pkgs/applications/networking/cluster/terraform/providers/default.nix @@ -1,12 +1,21 @@ { stdenv, lib, buildGoPackage, fetchFromGitHub }: let list = import ./data.nix; - toDrv = _: data: + + toDrv = data: buildGoPackage rec { - inherit (data) pname version; - name = "${pname}-${version}"; - goPackagePath = "github.com/${data.src.owner}/${data.src.repo}"; - src = fetchFromGitHub data.src; + inherit (data) owner repo version sha256; + name = "${repo}-${version}"; + goPackagePath = "github.com/${owner}/${repo}"; + src = fetchFromGitHub { + inherit owner repo sha256; + rev = "v${version}"; + }; }; + + maybeDrv = name: data: + # vsphere is currently broken + if name == "vsphere" then null + else toDrv data; in - lib.mapAttrs toDrv list + lib.mapAttrs maybeDrv list diff --git a/pkgs/applications/networking/cluster/terraform/providers/template.nix b/pkgs/applications/networking/cluster/terraform/providers/template.nix deleted file mode 100644 index 16650af870b..00000000000 --- a/pkgs/applications/networking/cluster/terraform/providers/template.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ stdenv, lib, buildGoPackage, fetchFromGitHub }: - -buildGoPackage rec { - pname = "terraform-provider-template"; - name = "${pname}-${version}"; - version = "0.1.1"; - - goPackagePath = "github.com/terraform-providers/terraform-provider-template"; - - src = fetchFromGitHub { - owner = "terraform-providers"; - repo = pname; - rev = "v${version}"; - sha256 = "1qrslnkvcj18jzxmsbf72gm54s8dnw5k5z15nffwgy09vv7mzpcn"; - }; -} \ No newline at end of file diff --git a/pkgs/applications/networking/cluster/terraform/providers/update-all b/pkgs/applications/networking/cluster/terraform/providers/update-all index 42c55a4c19d..d857e4f1870 100755 --- a/pkgs/applications/networking/cluster/terraform/providers/update-all +++ b/pkgs/applications/networking/cluster/terraform/providers/update-all @@ -10,18 +10,19 @@ set -euo pipefail GET() { local url=$1 echo "fetching $url" >&2 - curl -#fL "$url" + curl -#fL -u "$GITHUB_AUTH" "$url" } get_org_repos() { local org=$1 - GET "https://api.github.com/orgs/$org/repos" | jq -r '.[].name' + local page=1 + GET "https://api.github.com/orgs/$org/repos?per_page=100" | jq -r '.[].name' } get_repo_tags() { local owner=$1 local repo=$2 - GET "https://api.github.com/repos/$owner/$repo/git/refs/tags" | \ + GET "https://api.github.com/repos/$owner/$repo/git/refs/tags?per_page=100" | \ jq -r '.[].ref' | \ cut -d '/' -f 3- | \ sort --version-sort @@ -37,25 +38,37 @@ prefetch_github() { echo_entry() { local owner=$1 local repo=$2 - local rev=$3 - local sha256=$4 local version=${3:1} + local sha256=$4 cat <:` and run this script again. +HELP + exit 1 +fi + org=terraform-providers repos=$(get_org_repos "$org" | grep terraform-provider- | sort) @@ -63,9 +76,11 @@ repos=$(get_org_repos "$org" | grep terraform-provider- | sort) # Get all the providers with index -echo -n > data.nix +cat <
data.nix +# Generated with ./update-all +{ +HEADER -echo "{" >> data.nix for repo in $repos; do echo "*** $repo ***" name=$(echo "$repo" | cut -d - -f 3-) @@ -77,6 +92,9 @@ for repo in $repos; do echo_entry "$org" "$repo" "$last_tag" "$last_tag_sha256" | indent } >> data.nix done -echo "}" >> data.nix + +cat <