├── .devcontainer └── devcontainer.json ├── .dockerignore ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── FUNDING.yml └── workflows │ ├── integration-test.yaml │ ├── release.yaml │ └── unit-test.yaml ├── .gitignore ├── .prettierrc ├── Dockerfile ├── LICENSE ├── README.adoc ├── app.js ├── bin └── citizen ├── entrypoint.sh ├── helm └── citizen │ ├── .helmignore │ ├── Chart.yaml │ ├── files │ └── github.sh │ ├── templates │ ├── NOTES.txt │ ├── _helpers.tpl │ ├── cm.yaml │ ├── ingress.yaml │ ├── secret.yaml │ ├── service.yaml │ ├── serviceaccount.yaml │ ├── sts.yaml │ └── tests │ │ └── test-connection.yaml │ └── values.yaml ├── lib ├── citizen.js ├── cli-helpers.js ├── cli-helpers.spec.js ├── fixture │ ├── module1 │ │ ├── README.md │ │ ├── a.js │ │ ├── b.js │ │ └── c │ │ │ ├── d.js │ │ │ └── e.js │ └── module2 │ │ ├── .gitignore │ │ ├── a.js │ │ └── b.js ├── logger.js ├── module │ ├── cli.js │ ├── module.js │ └── module.spec.js ├── provider │ ├── cli.js │ ├── provider.js │ └── provider.spec.js ├── server.js ├── util.js └── util.spec.js ├── package.json ├── routes ├── download.js ├── download.spec.js ├── index.js ├── list.js ├── list.spec.js ├── modules.js ├── modules.spec.js ├── providers.js ├── providers.spec.js └── service-discovery.js ├── storages ├── file.js ├── gcs.js ├── gcs.mock.js ├── s3.js ├── storage.js └── storage.spec.js ├── stores ├── mongodb │ ├── mongodb.js │ └── mongodb.prisma ├── mysql │ ├── migrations │ │ ├── 20221109162704_init │ │ │ └── migration.sql │ │ └── migration_lock.toml │ ├── mysql.js │ └── mysql.prisma ├── sqlite │ ├── migrations │ │ ├── 20220908073016_init │ │ │ └── migration.sql │ │ └── migration_lock.toml │ ├── sqlite.js │ └── sqlite.prisma ├── store.js └── store.spec.js ├── test ├── docker-compose-mongodb-cluster.yaml ├── download-terraform.js ├── fixture │ ├── complex.tar.gz │ ├── module.tar.gz │ └── provider │ │ ├── terraform-provider-null_1.0.0_SHA256SUMS │ │ ├── terraform-provider-null_1.0.0_SHA256SUMS.sig │ │ ├── terraform-provider-null_1.0.0_linux_amd64.zip │ │ └── terraform-provider-null_1.0.0_windows_amd64.zip ├── helper.js ├── integration │ ├── fixture │ │ └── alb │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ ├── ngrok.js │ ├── registry.js │ ├── terraform-cli.modules.spec.js │ └── terraform-cli.providers.spec.js ├── mongodb_replica │ └── Dockerfile └── versions.js └── views ├── error.jten ├── modules ├── latest-version.jten ├── list.jten ├── module.jten ├── register.jten └── versions.jten └── providers ├── providerPackage.jten ├── register.jten └── versions.jten /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .git/ 2 | node_modules/ 3 | dist/ 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: outsideris 2 | 3 | -------------------------------------------------------------------------------- /.github/workflows/integration-test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.github/workflows/integration-test.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.github/workflows/unit-test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.github/workflows/unit-test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/LICENSE -------------------------------------------------------------------------------- /README.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/README.adoc -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/app.js -------------------------------------------------------------------------------- /bin/citizen: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require('../lib/citizen'); 3 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/entrypoint.sh -------------------------------------------------------------------------------- /helm/citizen/.helmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/.helmignore -------------------------------------------------------------------------------- /helm/citizen/Chart.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/Chart.yaml -------------------------------------------------------------------------------- /helm/citizen/files/github.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/files/github.sh -------------------------------------------------------------------------------- /helm/citizen/templates/NOTES.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/NOTES.txt -------------------------------------------------------------------------------- /helm/citizen/templates/_helpers.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/_helpers.tpl -------------------------------------------------------------------------------- /helm/citizen/templates/cm.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/cm.yaml -------------------------------------------------------------------------------- /helm/citizen/templates/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/ingress.yaml -------------------------------------------------------------------------------- /helm/citizen/templates/secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/secret.yaml -------------------------------------------------------------------------------- /helm/citizen/templates/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/service.yaml -------------------------------------------------------------------------------- /helm/citizen/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/serviceaccount.yaml -------------------------------------------------------------------------------- /helm/citizen/templates/sts.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/sts.yaml -------------------------------------------------------------------------------- /helm/citizen/templates/tests/test-connection.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/templates/tests/test-connection.yaml -------------------------------------------------------------------------------- /helm/citizen/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/helm/citizen/values.yaml -------------------------------------------------------------------------------- /lib/citizen.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/citizen.js -------------------------------------------------------------------------------- /lib/cli-helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/cli-helpers.js -------------------------------------------------------------------------------- /lib/cli-helpers.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/cli-helpers.spec.js -------------------------------------------------------------------------------- /lib/fixture/module1/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/fixture/module1/a.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/fixture/module1/b.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/fixture/module1/c/d.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/fixture/module1/c/e.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/fixture/module2/.gitignore: -------------------------------------------------------------------------------- 1 | README.md 2 | c/ 3 | -------------------------------------------------------------------------------- /lib/fixture/module2/a.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/fixture/module2/b.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/logger.js -------------------------------------------------------------------------------- /lib/module/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/module/cli.js -------------------------------------------------------------------------------- /lib/module/module.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/module/module.js -------------------------------------------------------------------------------- /lib/module/module.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/module/module.spec.js -------------------------------------------------------------------------------- /lib/provider/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/provider/cli.js -------------------------------------------------------------------------------- /lib/provider/provider.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/provider/provider.js -------------------------------------------------------------------------------- /lib/provider/provider.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/provider/provider.spec.js -------------------------------------------------------------------------------- /lib/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/server.js -------------------------------------------------------------------------------- /lib/util.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/util.js -------------------------------------------------------------------------------- /lib/util.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/lib/util.spec.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/package.json -------------------------------------------------------------------------------- /routes/download.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/download.js -------------------------------------------------------------------------------- /routes/download.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/download.spec.js -------------------------------------------------------------------------------- /routes/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/index.js -------------------------------------------------------------------------------- /routes/list.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/list.js -------------------------------------------------------------------------------- /routes/list.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/list.spec.js -------------------------------------------------------------------------------- /routes/modules.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/modules.js -------------------------------------------------------------------------------- /routes/modules.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/modules.spec.js -------------------------------------------------------------------------------- /routes/providers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/providers.js -------------------------------------------------------------------------------- /routes/providers.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/providers.spec.js -------------------------------------------------------------------------------- /routes/service-discovery.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/routes/service-discovery.js -------------------------------------------------------------------------------- /storages/file.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/storages/file.js -------------------------------------------------------------------------------- /storages/gcs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/storages/gcs.js -------------------------------------------------------------------------------- /storages/gcs.mock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/storages/gcs.mock.js -------------------------------------------------------------------------------- /storages/s3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/storages/s3.js -------------------------------------------------------------------------------- /storages/storage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/storages/storage.js -------------------------------------------------------------------------------- /storages/storage.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/storages/storage.spec.js -------------------------------------------------------------------------------- /stores/mongodb/mongodb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/mongodb/mongodb.js -------------------------------------------------------------------------------- /stores/mongodb/mongodb.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/mongodb/mongodb.prisma -------------------------------------------------------------------------------- /stores/mysql/migrations/20221109162704_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/mysql/migrations/20221109162704_init/migration.sql -------------------------------------------------------------------------------- /stores/mysql/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/mysql/migrations/migration_lock.toml -------------------------------------------------------------------------------- /stores/mysql/mysql.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/mysql/mysql.js -------------------------------------------------------------------------------- /stores/mysql/mysql.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/mysql/mysql.prisma -------------------------------------------------------------------------------- /stores/sqlite/migrations/20220908073016_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/sqlite/migrations/20220908073016_init/migration.sql -------------------------------------------------------------------------------- /stores/sqlite/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/sqlite/migrations/migration_lock.toml -------------------------------------------------------------------------------- /stores/sqlite/sqlite.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/sqlite/sqlite.js -------------------------------------------------------------------------------- /stores/sqlite/sqlite.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/sqlite/sqlite.prisma -------------------------------------------------------------------------------- /stores/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/store.js -------------------------------------------------------------------------------- /stores/store.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/stores/store.spec.js -------------------------------------------------------------------------------- /test/docker-compose-mongodb-cluster.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/docker-compose-mongodb-cluster.yaml -------------------------------------------------------------------------------- /test/download-terraform.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/download-terraform.js -------------------------------------------------------------------------------- /test/fixture/complex.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/fixture/complex.tar.gz -------------------------------------------------------------------------------- /test/fixture/module.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/fixture/module.tar.gz -------------------------------------------------------------------------------- /test/fixture/provider/terraform-provider-null_1.0.0_SHA256SUMS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/fixture/provider/terraform-provider-null_1.0.0_SHA256SUMS -------------------------------------------------------------------------------- /test/fixture/provider/terraform-provider-null_1.0.0_SHA256SUMS.sig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/fixture/provider/terraform-provider-null_1.0.0_SHA256SUMS.sig -------------------------------------------------------------------------------- /test/fixture/provider/terraform-provider-null_1.0.0_linux_amd64.zip: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixture/provider/terraform-provider-null_1.0.0_windows_amd64.zip: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/helper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/helper.js -------------------------------------------------------------------------------- /test/integration/fixture/alb/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/integration/fixture/alb/main.tf -------------------------------------------------------------------------------- /test/integration/fixture/alb/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/integration/fixture/alb/outputs.tf -------------------------------------------------------------------------------- /test/integration/fixture/alb/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/integration/fixture/alb/variables.tf -------------------------------------------------------------------------------- /test/integration/ngrok.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/integration/ngrok.js -------------------------------------------------------------------------------- /test/integration/registry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/integration/registry.js -------------------------------------------------------------------------------- /test/integration/terraform-cli.modules.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/integration/terraform-cli.modules.spec.js -------------------------------------------------------------------------------- /test/integration/terraform-cli.providers.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/integration/terraform-cli.providers.spec.js -------------------------------------------------------------------------------- /test/mongodb_replica/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/mongodb_replica/Dockerfile -------------------------------------------------------------------------------- /test/versions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/test/versions.js -------------------------------------------------------------------------------- /views/error.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/error.jten -------------------------------------------------------------------------------- /views/modules/latest-version.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/modules/latest-version.jten -------------------------------------------------------------------------------- /views/modules/list.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/modules/list.jten -------------------------------------------------------------------------------- /views/modules/module.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/modules/module.jten -------------------------------------------------------------------------------- /views/modules/register.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/modules/register.jten -------------------------------------------------------------------------------- /views/modules/versions.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/modules/versions.jten -------------------------------------------------------------------------------- /views/providers/providerPackage.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/providers/providerPackage.jten -------------------------------------------------------------------------------- /views/providers/register.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/providers/register.jten -------------------------------------------------------------------------------- /views/providers/versions.jten: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/outsideris/citizen/HEAD/views/providers/versions.jten --------------------------------------------------------------------------------