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