Monorepo for first party source code that runs under zeroindexed.com.
JavaScript packages are published under the @zeroindexed/ namespace on NPM.
Install nix and nix-direnv (which are part of the
rravalBox nix configuration, so that comes for free if you're
using it).
Ensure that your nix config supports nix flake.
Then add a file to the root of this repo .envrc:
use flake
Finally:
$ cd /path/to/this/repo
# needed every time `.envrc` changes, rare.
$ direnv allow
# Needed every time `docs/Gemfile.lock` changes, somewhat frequent.
$ (cd docs && bundle install)
# Needed every time `yarn.lock` changes, frequent.
$ yarn install
Everything is managed by pulumi, which is already installed in the
nix managed environment.
Modify $ZEROINDEXED_CHECKOUT/.envrc:
# Create an access token: https://app.pulumi.com/account/tokens
export PULUMI_ACCESS_TOKEN="..."
# gpg -d packages/pulumi/pulumi.passphrase.gpg
export PULUMI_CONFIG_PASSPHRASE="..."
Create a service account key and put the key in
$ZEROINDEXED_CHECKOUT/.nix/gcloud-key.json:
https://console.cloud.google.com/iam-admin/serviceaccounts
Generate a configuration file:
$ pulumi -C packages/pulumi stack --stack gcloud --show-secrets output kubeconfig > .nix/kubeconfig