Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions .github/workflows/_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
networks:
required: true
type: string
teztnets:
testnets:
required: true
type: string

Expand All @@ -28,36 +28,36 @@ jobs:
${{ inputs.networks }}
EOF
- run: |
cat > teztnets.json <<EOF
${{ inputs.teztnets }}
cat > testnets.json <<EOF
${{ inputs.testnets }}
EOF
- name: generate release artifacts
run: |
python teztnets_xyz_page/release.py
- name: Deploy to teztnets.com
python testnets_xyz_page/release.py
- name: Deploy to testnets.mavryk.network
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./target/release
enable_jekyll: true

# Generate release artifacts for teztnets.xyz
- name: Generate release artifacts for teztnets.com
# Generate release artifacts for testnets.mavryk.network
- name: Generate release artifacts for testnets.mavryk.network
run: |
python teztnets_xyz_page/release.py
# Temporary - deploy to teztnets.xyz
python testnets_xyz_page/release.py
# Temporary - deploy to testnets.mavryk.network
- name: Rewrite and replace domain in jekyll site
run: |
sed -i 's/teztnets.com/teztnets.xyz/g' teztnets_xyz_page/website/CNAME
sed -i 's/teztnets.com/teztnets.xyz/g' teztnets_xyz_page/website/_config.yml
sed -i 's/teztnets.com/teztnets.xyz/g' teztnets_xyz_page/website/_includes/header.html
sed -i 's/teztnets.com/teztnets.xyz/g' teztnets_xyz_page/website/index.markdown
- name: Deploy to Teztnets.xyz
sed -i 's/testnets.mavryk.network/testnets.mavryk.network/g' testnets_xyz_page/website/CNAME
sed -i 's/testnets.mavryk.network/testnets.mavryk.network/g' testnets_xyz_page/website/_config.yml
sed -i 's/testnets.mavryk.network/testnets.mavryk.network/g' testnets_xyz_page/website/_includes/header.html
sed -i 's/testnets.mavryk.network/testnets.mavryk.network/g' testnets_xyz_page/website/index.markdown
- name: Deploy to testnets.mavryk.network
uses: peaceiris/actions-gh-pages@v3
with:
deploy_key: ${{ secrets.TEZTNETS_COM_DEPLOY_KEY }}
deploy_key: ${{ secrets.TESTNETS_COM_DEPLOY_KEY }}
publish_dir: ./target/release
external_repository: oxheadalpha/teztnets
external_repository: mavryk-network/testnets
enable_jekyll: true

# End Temporary - deploy to teztnets.xyz
# End Temporary - deploy to testnets.mavryk.network
12 changes: 6 additions & 6 deletions .github/workflows/_pulumi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ on:
networks:
description: "Pulumi networks output"
value: ${{ jobs.pulumi.outputs.networks }}
teztnets:
description: "Pulumi teztnets output"
value: ${{ jobs.pulumi.outputs.teztnets }}
testnets:
description: "Pulumi testnets output"
value: ${{ jobs.pulumi.outputs.testnets }}

jobs:
pulumi:
runs-on: ubuntu-latest
outputs:
networks: ${{ steps.pup.outputs.networks }}
teztnets: ${{ steps.pup.outputs.teztnets }}
testnets: ${{ steps.pup.outputs.testnets }}
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -39,7 +39,7 @@ jobs:
- name: Set up Google Cloud SDK
uses: google-github-actions/setup-gcloud@v1
with:
project_id: tf-teztnets
project_id: tf-testnets

- name: Install gke-gcloud-auth-plugin
run: gcloud components install gke-gcloud-auth-plugin
Expand All @@ -48,6 +48,6 @@ jobs:
id: pup
with:
command: ${{ inputs.pulumi-command }}
stack-name: tacoinfra/teztnets/teztnets
stack-name: tacoinfra/testnets/testnets
env:
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
20 changes: 10 additions & 10 deletions .github/workflows/cron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ on:
- cron: "0 0 * * *"

jobs:
up:
name: Pulumi Up
uses: ./.github/workflows/_pulumi.yml
secrets: inherit
with:
pulumi-command: up
# up:
# name: Pulumi Up
# uses: ./.github/workflows/_pulumi.yml
# secrets: inherit
# with:
# pulumi-command: up

publish:
name: teztnets.xyz build
needs: up
name: testnets.mavryk.network build
# needs: up
uses: ./.github/workflows/_publish.yml
secrets: inherit
with:
networks: ${{ needs.up.outputs.networks }}
teztnets: ${{ needs.up.outputs.teztnets }}
networks: ${{ vars.NETWORKS }}
testnets: ${{ vars.TESTNETS }}
16 changes: 8 additions & 8 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ on:
branches:
- main
jobs:
preview:
name: Pulumi Preview
# don't do this on fork - this would not work because secrets would not be accessible
if: github.event.pull_request.head.repo.full_name == github.repository
uses: ./.github/workflows/_pulumi.yml
secrets: inherit
with:
pulumi-command: preview
# preview:
# name: Pulumi Preview
# # don't do this on fork - this would not work because secrets would not be accessible
# if: github.event.pull_request.head.repo.full_name == github.repository
# uses: ./.github/workflows/_pulumi.yml
# secrets: inherit
# with:
# pulumi-command: preview

validate-yaml:
name: Validate YAML Files
Expand Down
21 changes: 11 additions & 10 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,21 @@ on:
push:
branches:
- main
- mavryk-protocol-refactoring

jobs:
up:
name: Pulumi Up
uses: ./.github/workflows/_pulumi.yml
secrets: inherit
with:
pulumi-command: up
# up:
# name: Pulumi Up
# uses: ./.github/workflows/_pulumi.yml
# secrets: inherit
# with:
# pulumi-command: up

publish:
name: teztnets.xyz build
needs: up
name: testnets.mavryk.network build
# needs: up
uses: ./.github/workflows/_publish.yml
secrets: inherit
with:
networks: ${{ needs.up.outputs.networks }}
teztnets: ${{ needs.up.outputs.teztnets }}
networks: ${{ vars.NETWORKS }}
testnets: ${{ vars.TESTNETS }}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
teztnets_xyz_page/webpage/_site
testnets_xyz_page/webpage/_site
.env
node_modules
target/
8 changes: 4 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "networks/dailynet/tezos-k8s"]
path = networks/dailynet/tezos-k8s
url = git@github.com:oxheadalpha/tezos-k8s.git
branch = bake_remotely
[submodule "dailynet/mavryk-k8s"]
path = networks/dailynet/mavryk-k8s
url = git@github.com:mavryk-network/mavryk-k8s.git
branch = mavryk-protocol-refactoring
16 changes: 8 additions & 8 deletions Pulumi.teztnets.yaml → Pulumi.testnets.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
config:
gcp:credentials:
secure: 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
gcp:project: tf-teztnets
gcp:project: tf-testnets
gcp:region: us-central1
teztnets:faucet-private-key:
testnets:faucet-private-key:
secure: AAABABFqG18LfEQ9tA+PFeSh2UKb3Cpcmx9ptbvNlfSR0DCi+KDWm6/yTr4fQ4rGf2B6/JjOcrBHqw0tyY9R9j+1H/dx0dqml0/Irz7R9UkdK1Vnjks=
teztnets:faucet-recaptcha-enterprise-secret-key:
testnets:faucet-recaptcha-enterprise-secret-key:
secure: AAABAEbyAPGfG6Auv8Qm1Dho4xT9xSgTM9vA+Kv73f+X/RpJAaBv7SprXs6MhCcmRXMqx45xxyO9ANdYMtGwbi3aUYLnaB1j
teztnets:faucet-recaptcha-enterprise-site-key:
testnets:faucet-recaptcha-enterprise-site-key:
secure: AAABAPTYz6zjPbaz70KaY3jOa1b0j2z2d0LldmaZfc2hA/ACbpL/3n69nrDbDYecKDb6tAMZE/ZAf7u0vqbCPfWKzUkIl8VP
teztnets:faucet-recaptcha-secret-key:
testnets:faucet-recaptcha-secret-key:
secure: AAABAGVsSlKbT34ndcMj9+yG0QL7S6enFcvJ9gnMN4DpizDJrJAS6oQEuy837tpz/tcpp45xA9NkZ7Ud8Ihf+xWI/xxblue6
teztnets:faucet-recaptcha-site-key:
testnets:faucet-recaptcha-site-key:
secure: AAABAEmST1AIUWhiwQxT/iGPmTBwXvpublb39pOZhPQbSLS+rjK4Tka8dKYvBTiCQet7d1ldzdjh7EfUkSbTZLDZa0xK2DUT
teztnets:private-teztnets-baking-key:
testnets:private-testnets-baking-key:
secure: AAABAAgMJLuhBpihD9LyO3cKw5acR7Ke0fq2cxPH5fQibPvfwiB6voGS0i8w77H0TWHPWwWwf9PP6+WWAuGJUlhb2+cZCSFY0inwImz47Ql2wbxs5kA=
teztnets:tf-teztnets-baking-key:
testnets:tf-testnets-baking-key:
secure: AAABAC105maeYac8/PRun+tP9M63QbBSeLg0H0J9BWzC9Dn8jVkWhEyHTeDGE95YKT3scDY47Q7R0vW8FtT2gK6IY8CJCblfSHQr6/bKWdWO34pVJMQ=
4 changes: 2 additions & 2 deletions Pulumi.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
name: teztnets
name: testnets
runtime: nodejs
description: Teztnets Infrastructure
description: Testnets Infrastructure
52 changes: 26 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,56 @@
# Teztnets
# Testnets

Infrastructure-as-code repo to activate and bootstrap Tezos testnets in a repeatable, automated way.
Infrastructure-as-code repo to activate and bootstrap Mavryk testnets in a repeatable, automated way.

See [teztnets.com](https://teztnets.com) for the list of active Teztnets.
See [testnets.mavryk.network](https://testnets.mavryk.network) for the list of active Testnets.

## Features

### Based on tezos-k8s
### Based on mavryk-k8s

[tezos-k8s](https://github.com/oxheadalpha/tezos-k8s) is a framework to deploy Tezos nodes or chains using Kubernetes and Helm.
[mavryk-k8s](https://github.com/mavryk-network/mavryk-k8s) is a framework to deploy Mavryk nodes or chains using Kubernetes and Helm.

See the [tezos-k8s documentation](https://github.com/oxheadalpha/tezos-k8s/blob/master/README.md)
See the [mavryk-k8s documentation](https://github.com/mavryk-network/mavryk-k8s/blob/master/README.md)

### Faucet support

We support the beacon-compatible Tezos Faucet.
We support the beacon-compatible Mavryk Faucet.

### Injection of contracts at genesis

A [collection of raw Michelson contracts](https://github.com/oxheadalpha/teztnets/tree/main/bootstrap_contracts) can be optionally deployed in any Teztnet at genesis.
A [collection of raw Michelson contracts](https://github.com/mavryk-network/testnets/tree/main/bootstrap_contracts) can be optionally deployed in any Testnet at genesis.

### Injection of Smart Rollups at genesis

Rollups can be injected at genesis of your test chain. Teztnets supports extraction of the EVM Rollup from the Octez container, and its injection at a predetermined address.
Rollups can be injected at genesis of your test chain. Testnets supports extraction of the EVM Rollup from the Mavkit container, and its injection at a predetermined address.

### Bootstrap baker and bootstrap p2p endpoint

Upon deployment of a Teztnet, a genesis baker will run and its p2p and rpc endpoints will be exposed externally.
Upon deployment of a Testnet, a genesis baker will run and its p2p and rpc endpoints will be exposed externally.
Example:

- p2p: `ghostnet.teztnets.com`
- rpc `rpc.ghostnet.teztnets.com`
- p2p: `ghostnet.testnets.mavryk.network`
- rpc `rpc.ghostnet.testnets.mavryk.network`

### `--network` endpoint for Tezos node
### `--network` endpoint for Mavryk node

Tezos nodes supports downloading of network specification from a json endpoint: `octez-node config init --network https://teztnets.com/<TEZTNET NAME>`
Mavryk nodes supports downloading of network specification from a json endpoint: `mavkit-node config init --network https://testnets.mavryk.network/<TESTNET NAME>`

The Teztnet platform creates and exposes such endpoints.
The Testnet platform creates and exposes such endpoints.

## Automate on Teztnets
## Automate on Testnets

You are encouraged to build automation to ensure your Tezos project keeps running with the future versions of Tezos shell and/or protocol.
You are encouraged to build automation to ensure your Mavryk project keeps running with the future versions of Mavryk shell and/or protocol.

This endpoint lists the current active testnets: [https://teztnets.com/teztnets.json](https://teztnets.com/teztnets.json)
This endpoint lists the current active testnets: [https://testnets.mavryk.network/testnets.json](https://testnets.mavryk.network/testnets.json)

## Add new Teztnets or modify existing Teztnets
## Add new Testnets or modify existing Testnets

Each Teztnet is defined within a subdirectory of the `/networks` directory in this repository. The Teztnet directory must contain the following files:
Each Testnet is defined within a subdirectory of the `/networks` directory in this repository. The Testnet directory must contain the following files:

- A Helm chart `values.yaml` file
- Optionally, a Helm chart `faucet_values.yaml` file if deploying a faucet
- Optionally, a submodule of tezos-k8s (in case you need an unreleased or custom version of the tezos-k8s software)
- Optionally, a submodule of mavryk-k8s (in case you need an unreleased or custom version of the mavryk-k8s software)

### Helm chart values.yaml

Expand All @@ -63,19 +63,19 @@ The Helm chart values.yaml lets you customize your chain in many ways:
- specify user-activated upgrades for hard-forks at a given length
- specify the list of baker/endorser binaries to run.

Look in any Teztnet directory's values.yaml file in [`/networks`](/networks) for reference as to how to configure your own Teztnet.
Look in any Testnet directory's values.yaml file in [`/networks`](/networks) for reference as to how to configure your own Testnet.

The [default Helm values.yaml](https://github.com/oxheadalpha/tezos-k8s/blob/master/charts/tezos/values.yaml) has details on every possible way to customize your teztnet.
The [default Helm values.yaml](https://github.com/mavryk-network/mavryk-k8s/blob/master/charts/mavryk/values.yaml) has details on every possible way to customize your testnet.

## Teztnets.com website
## testnets.mavryk.network website

The website is created with Jekyll from Markdown files generated from Jinja templates based on Pulumi outputs.

To build the website locally, from the top-level dir of the repo:

1. run `pulumi stack output networks > networks.json`
1. run `pulumi stack output teztnets > teztnets.json`
1. run `python teztnets_xyz_page/release.py`
1. run `pulumi stack output testnets > testnets.json`
1. run `python testnets_xyz_page/release.py`
1. `cd target/release`
1. run `bundle install`
1. run `bundle exec jekyll serve`
Expand Down
2 changes: 1 addition & 1 deletion bootstrap_contracts/evm_bridge.json
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
"prim": "PUSH",
"args": [
{
"prim": "mutez"
"prim": "mumav"
},
{
"int": "0"
Expand Down
8 changes: 4 additions & 4 deletions bootstrap_contracts/exchanger.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
"prim": "PUSH",
"args": [
{
"prim": "mutez"
"prim": "mumav"
},
{
"int": "0"
Expand Down Expand Up @@ -192,7 +192,7 @@
"prim": "PUSH",
"args": [
{
"prim": "mutez"
"prim": "mumav"
},
{
"int": "1"
Expand Down Expand Up @@ -256,7 +256,7 @@
"prim": "PUSH",
"args": [
{
"prim": "mutez"
"prim": "mumav"
},
{
"int": "1"
Expand Down Expand Up @@ -345,7 +345,7 @@
"prim": "PUSH",
"args": [
{
"prim": "mutez"
"prim": "mumav"
},
{
"int": "0"
Expand Down
Loading
Loading