Code, configuration, and documentation to support network-local development environments

documentation: Moving config files around to make it easier to immediately clone and use the repository.

+3 -2
.gitignore
··· 1 - # PLC 2 - /plc/did-method-plc
··· 1 + /plc/did-method-plc 2 + /pds/env 3 + docker-compose.yml
+31 -5
README.md
··· 2 3 Code and configuration to create a network-local development environment. It uses tailscale and can be used to have shared isolated infrastructure that can be used to support individuals and teams. 4 5 - ## Configuration 6 7 8 ## Operation 9 10 - 1. Configure and start the PLC service. See plc/README.md 11 12 - 2. Configure and start the PDS service. See pds/README.md 13 14 - 3. Configure and start the DNS service. See dns/README.md 15 16 - 4. Configure split-DNS in Tailscale. 17 18 1. Visit https://tailscale.com/ 19 2. Go to the Machines tab and get the internal IP address of `didadmin` 20 2. Go to the DNS configuration page 21 3. Add a nameserver and select "Custom" 22 4. Enter the IP address of the `didadmin`, select "Restrict to domain (Split DNS)", and set the domain to "pyroclastic.cloud" 23 24 ## Maintenance 25
··· 2 3 Code and configuration to create a network-local development environment. It uses tailscale and can be used to have shared isolated infrastructure that can be used to support individuals and teams. 4 5 + ***Note***: When developing against this network-local development environment using the configured nameserver and PLC instance, you will not be able to mix pyroclastic.cloud identities and external identities unless you take steps to resolve against ***both*** the local PLC instance (`https://plc.internal.ts.net`) as well as `https://plc.directory`. 6 + 7 + ## Requirements 8 9 + * Docker Compose 10 + * Tailscale 11 + * DNS enabled 12 + * HTTPS enabled 13 + * The name of your tailnet (i.e. `sneaky-fox.ts.net`) 14 15 ## Operation 16 17 + 1. Clone this repository 18 19 + 2. Configure and start the PLC service. See plc/README.md 20 21 + 3. Configure and start the PDS service. See pds/README.md 22 23 + 4. Configure and start the DNS service. See dns/README.md 24 + 25 + 5. Configure split-DNS in Tailscale. 26 27 1. Visit https://tailscale.com/ 28 2. Go to the Machines tab and get the internal IP address of `didadmin` 29 2. Go to the DNS configuration page 30 3. Add a nameserver and select "Custom" 31 4. Enter the IP address of the `didadmin`, select "Restrict to domain (Split DNS)", and set the domain to "pyroclastic.cloud" 32 + 33 + ## Usage 34 + 35 + The following services are now available: 36 + 37 + * PLC - https://plc.internal.ts.net 38 + * PDS - https://pds.internal.ts.net 39 + * DNS - didadmin.internal.ts.net:53 40 + * didadmin - https://didadmin.internal.ts.net 41 + * maildev - http://pds.internal.ts.net:1080 42 + 43 + When configuration applications for local/local-network development, use the following configuration: 44 + 45 + ``` 46 + NAMESERVERS=100.100.100.100 47 + PLC_HOSTNAME=https://plc.internal.ts.net 48 + ``` 49 50 ## Maintenance 51
+4 -3
dns/README.md
··· 7 8 ## Configuration 9 10 - This service makes API calls to the local PDS and also exists on a tailscale network. Please make note of any `PLACEHOLDER` and `OPTIONAL` strings in the following files: 11 12 - In `./docker-compose.yml`: 13 14 * Set the `PDS_ADMIN_PASSWORD` environment variable to your PDS admin password. 15 * Set the `PDS_HOSTNAME` to the internal hostname of your PDS. (i.e. `pds.sneaky-fox.ts.net`) 16 * Optionally, if you are not using the `pyroclastic.cloud` domain (it's fine to leave this as-is) then change that. 17 18 ## Operation 19 ··· 25 26 `docekr compose up tailscale -d` 27 28 - If you are using dynamic node registration, you'll need to view the logs and click on the link. 29 30 `docker compose logs tailscale` 31
··· 7 8 ## Configuration 9 10 + This service makes API calls to the local PDS and also exists on a tailscale network. 11 12 + Copy `docker-compose.example.yml` to `docker-compose.yml` and make the following changes: 13 14 * Set the `PDS_ADMIN_PASSWORD` environment variable to your PDS admin password. 15 * Set the `PDS_HOSTNAME` to the internal hostname of your PDS. (i.e. `pds.sneaky-fox.ts.net`) 16 * Optionally, if you are not using the `pyroclastic.cloud` domain (it's fine to leave this as-is) then change that. 17 + * Optional, set the `TS_AUTHKEY` if you are using one. 18 19 ## Operation 20 ··· 26 27 `docekr compose up tailscale -d` 28 29 + If you are using dynamic machine authentication, you'll need to view the logs and click on the link. 30 31 `docker compose logs tailscale` 32
dns/docker-compose.yml dns/docker-compose.example.yml
+5 -1
pds/README.md
··· 14 * `PDS_DID_PLC_URL` value updated to relflect your internal tailnet 15 * Optionally, if you are not using the `pyroclastic.cloud` domain (it's fine to leave this as-is) then change that. 16 17 ## Operation 18 19 1. Create the configuration file and update it accordingly. ··· 22 23 `docekr compose up tailscale -d` 24 25 - If you are using dynamic node registration, you'll need to view the logs and click on the link. 26 27 `docker compose logs tailscale` 28
··· 14 * `PDS_DID_PLC_URL` value updated to relflect your internal tailnet 15 * Optionally, if you are not using the `pyroclastic.cloud` domain (it's fine to leave this as-is) then change that. 16 17 + Copy `docker-compose.example.yml` to `docker-compose.yml` and make the following changes: 18 + 19 + * Optional, set the `TS_AUTHKEY` if you are using one. 20 + 21 ## Operation 22 23 1. Create the configuration file and update it accordingly. ··· 26 27 `docekr compose up tailscale -d` 28 29 + If you are using dynamic machine authentication, you'll need to view the logs and click on the link. 30 31 `docker compose logs tailscale` 32
pds/docker-compose.yml pds/docker-compose.example.yml
+9 -1
plc/README.md
··· 1 # PLC 2 3 To start a PLC server, you must build a container from the PLC repository. 4 5 1. First, clone https://github.com/did-method-plc/did-method-plc ··· 14 15 `docekr compose up tailscale -d` 16 17 - If you are using dynamic node registration, you'll need to view the logs and click on the link. 18 19 `docker compose logs tailscale` 20
··· 1 # PLC 2 3 + ## Configuration 4 + 5 + Copy `docker-compose.example.yml` to `docker-compose.yml` and make the following changes: 6 + 7 + * Optional, set the `TS_AUTHKEY` if you are using one. 8 + 9 + ## Operation 10 + 11 To start a PLC server, you must build a container from the PLC repository. 12 13 1. First, clone https://github.com/did-method-plc/did-method-plc ··· 22 23 `docekr compose up tailscale -d` 24 25 + If you are using dynamic machine authentication, you'll need to view the logs and click on the link. 26 27 `docker compose logs tailscale` 28
plc/docker-compose.yml plc/docker-compose.example.yml