Skip to content

Commit 3ffb79b

Browse files
authored
fix: working on pulumi (#16)
* chore(release): publish - project: apps-workloads-public-mesh-v2alpha-lighthouse 0.33.0 * fix: stabilizing * fix: stabilizing * fix: stabilizing * fix: stabilizing * fix: stabilizing * fix: working on infrastructure with Pulumi * fix: working on infrastructure with Pulumi * fix: working on infrastructure with Pulumi --------- Co-authored-by: Dimy Jeannot <>
1 parent 46050aa commit 3ffb79b

File tree

36 files changed

+1162
-204
lines changed

36 files changed

+1162
-204
lines changed

.config/goreleaser/dockerize.yaml

Lines changed: 80 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,84 @@
11
# yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json
22
version: 2
3-
dockers:
3+
variables:
4+
project_name: ""
5+
kos:
6+
- repositories:
7+
- ghcr.io/openecosystems/{{ .Var.project_name }}
8+
#- openecosystems/{{ .Var.project_name }}
9+
tags:
10+
- "{{.Version}}"
11+
- "{{.Tag}}"
12+
- latest
13+
- "{{if not .Prerelease}}stable{{end}}"
14+
bare: true
15+
preserve_import_paths: false
16+
platforms:
17+
- linux/amd64
18+
- linux/arm64
19+
- darwin/amd64
20+
- darwin/arm64
21+
- windows/amd64
22+
- windows/arm64
423

5-
- #
6-
id: ecosystem
7-
goos: linux
8-
goarch: amd64
9-
goarm: "6"
10-
goamd64: "v2"
11-
12-
# IDs to filter the binaries/packages.
13-
#
14-
# Make sure to only include the IDs of binaries you want to `COPY` in your
15-
# Dockerfile.
16-
#
17-
# If you include IDs that don't exist or are not available for the current
18-
# architecture being built, the build of the image will be skipped.
19-
ids:
20-
- app
21-
22-
image_templates:
23-
- "openecosystems/ecosystem:latest"
24-
- "openecosystems/ecosystem:{{ .Tag }}"
25-
- "openecosystems/ecosystem:v{{ .Major }}"
26-
- "gcr.io/openecosystems/ecosystem:latest"
27-
28-
# Skips the docker build.
29-
# Could be useful if you want to skip building the windows docker image on
30-
# linux, for example
31-
#
32-
# This option is only available on GoReleaser Pro.
33-
# Templates: allowed.
34-
skip_build: false
35-
36-
skip_push: false
37-
38-
# Path to the Dockerfile (from the project root).
39-
#
40-
# Default: 'Dockerfile'.
41-
# Templates: allowed.
42-
dockerfile: "Dockerfile"
43-
44-
# Use this instead of `dockerfile` if the contents of your Dockerfile are
45-
# supposed to go through the template engine as well.
46-
#
47-
# `dockerfile` is ignored when this is set.
48-
#
49-
# This feature is only available in GoReleaser Pro.
50-
# Templates: allowed.
51-
#templated_dockerfile: "{{.Env.DOCKERFILE }}"
52-
53-
# Valid options are: docker, buildx, podman.
54-
use: docker
55-
56-
build_flag_templates:
57-
- "--pull"
58-
- "--label=org.opencontainers.image.created={{.Date}}"
59-
- "--label=org.opencontainers.image.title={{.ProjectName}}"
60-
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
61-
- "--label=org.opencontainers.image.version={{.Version}}"
62-
- "--platform=linux/arm64"
63-
64-
# Extra flags to be passed down to the push command.
65-
push_flags:
66-
- --tls-verify=false
6724

25+
#dockers:
26+
# - image_templates: [ "openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64" ]
27+
# dockerfile: Dockerfile
28+
# use: podman
29+
# build_flag_templates:
30+
# - --platform=linux/amd64
31+
# - --label=org.opencontainers.image.title={{ .ProjectName }}
32+
# - --label=org.opencontainers.image.description={{ .ProjectName }}
33+
# - --label=org.opencontainers.image.url=https://github.com/openecosystems/{{ .ProjectName }}
34+
# - --label=org.opencontainers.image.source=https://github.com/openecosystems/{{ .ProjectName }}
35+
# - --label=org.opencontainers.image.version={{ .Version }}
36+
# - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
37+
# - --label=org.opencontainers.image.revision={{ .FullCommit }}
38+
# - --label=org.opencontainers.image.licenses=Apache-2.0
39+
# extra_files:
40+
# - spec.yaml
41+
# - package.json
42+
# - image_templates: ["ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64"]
43+
# dockerfile: Dockerfile
44+
# use: podman
45+
# build_flag_templates:
46+
# - --platform=linux/amd64
47+
# - --label=org.opencontainers.image.title={{ .ProjectName }}
48+
# - --label=org.opencontainers.image.description={{ .ProjectName }}
49+
# - --label=org.opencontainers.image.url=https://github.com/openecosystems/{{ .ProjectName }}
50+
# - --label=org.opencontainers.image.source=https://github.com/openecosystems/{{ .ProjectName }}
51+
# - --label=org.opencontainers.image.version={{ .Version }}
52+
# - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
53+
# - --label=org.opencontainers.image.revision={{ .FullCommit }}
54+
# - --label=org.opencontainers.image.licenses=Apache-2.0
55+
# extra_files:
56+
# - spec.yaml
57+
# - package.json
58+
# - image_templates: ["ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-arm64v8"]
59+
# goarch: arm64
60+
# dockerfile: Dockerfile
61+
# use: podman
62+
# build_flag_templates:
63+
# - --platform=linux/arm64/v8
64+
# - --label=org.opencontainers.image.title={{ .ProjectName }}
65+
# - --label=org.opencontainers.image.description={{ .ProjectName }}
66+
# - --label=org.opencontainers.image.url=https://github.com/openecosystems/{{ .ProjectName }}
67+
# - --label=org.opencontainers.image.source=https://github.com/openecosystems/{{ .ProjectName }}
68+
# - --label=org.opencontainers.image.version={{ .Version }}
69+
# - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
70+
# - --label=org.opencontainers.image.revision={{ .FullCommit }}
71+
# - --label=org.opencontainers.image.licenses=Apache-2.0
72+
# extra_files:
73+
# - spec.yaml
74+
# - package.json
75+
#docker_manifests:
76+
# - name_template: ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}
77+
# image_templates:
78+
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64
79+
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-arm64v8
80+
# - name_template: ghcr.io/openecosystems/{{ .ProjectName }}:latest
81+
# image_templates:
82+
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64
83+
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-arm64v8
84+
#

.github/workflows/nightly.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
name: nightly
44

55
on:
6-
schedule:
7-
- cron: '0 0 * * 2-6' # At 12:00 AM, Tuesday through Saturday
6+
push:
7+
branches-ignore:
8+
- main
9+
#on:
10+
# schedule:
11+
# - cron: '0 0 * * 2-6' # At 12:00 AM, Tuesday through Saturday
812

9-
concurrency:
10-
group: nightly
11-
cancel-in-progress: true
13+
#concurrency:
14+
# group: nightly
15+
# cancel-in-progress: true
1216

1317
jobs:
1418
nightly:

apps/clients/public/cli/v2alpha/oeco/docs/flow.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ sequenceDiagram
1818
C-->>M: Validates certificate, <br/> signs, and adds a hostname, <br/> and allocates an <br/> IP address for <br/> mesh addressibility
1919
M-->>c: Byte buffered response <br/> using the security <br/> model codec
2020
```
21+
2122
## Connector Signature, Validation, and Association
22-
create a connector account. upload crt to be signed by central ca server. ca server provisions an IP address on the network. and a unique hostname and ip. system.api.organization.mesh/v2alpha/connector. this gets co verted to the nats channel: system.api.organization.b2alpha.connector or mesh.organization.api.system.v2alha.connector
23+
create a connector account. upload crt to be signed by central ca server. ca server provisions an IP address on the network. and a unique hostname and ip. system.api.organization.mesh/v2alpha/connector. this gets converted to the nats channel: system.api.organization.b2alpha.connector or mesh.organization.api.system.v2alha.connector
2324
store this hostname in KV. store ip address in KV. ip is key, value is host. host is key, value is ip
2425
we need a single key to find the next available IP address. ideally not sequentially.
2526
this will auto register with dns.
@@ -40,3 +41,45 @@ sequenceDiagram
4041
M-->>U: Byte buffered response <br/> using the security <br/> model codec
4142
```
4243

44+
## Traffic Flow Across Ports
45+
For the Edge Router, there is a single port:
46+
- 443/tcp
47+
- All internet facing traffic goes through this choke point
48+
49+
For the Event Multiplexer, there are three ports:
50+
- 4222/tcp (Nats over mesh socket)
51+
- Nats is accessible over the mesh overlay network
52+
- 4242/udp (Nebula)
53+
- 6477/tcp (gRPC/REST/Connect)
54+
- Serves as API gateway for both internet and mesh traffic
55+
- Available over the public internet only through the event-router
56+
- Secured by mTLS
57+
58+
59+
```mermaid
60+
sequenceDiagram
61+
autonumber
62+
participant c as Client
63+
participant R as Edge Router
64+
participant M as Multiplexer
65+
participant C as Connector
66+
67+
c->>R: Makes a public-facing request
68+
R->>M: Routes request to Multiplexer
69+
M->>C: Finds available <br/> Connector, <br/> and routes traffic <br/>with requested codec.
70+
C-->>M: Handles request
71+
M-->>R: Byte buffered response <br/> using the security <br/> model codec
72+
R-->>c: Byte buffered response <br/> using the security <br/> model codec
73+
74+
```
75+
76+
## Traffic Flow Across Meshes
77+
Once client connection to mesh is established, all traffic no longer goes through edge-router (Ideally it does, revisit this)
78+
79+
Now, .mesh urls are now available. For example: system.api.organization.mesh/v2alpha/connector
80+
81+
There are patient, private, and public ecosystems.
82+
An organization can create either a private or public ecosystem.
83+
By default, Open Economic Systems creates a public ecosystem.
84+
- system.api.oeco.mesh/v2alpha/connector
85+

apps/workloads/private/event/v2alpha/event-multiplexer/.goreleaser.yaml

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ project_name: apps-workloads-private-event-v2alpha-event-multiplexer
55
variables:
66
path_to_repo_root: "../../../../../../"
77
path_to_project: "apps/workloads/private/event/v2alpha/event-multiplexer"
8+
project_name: "event-multiplexer"
89

910
dist: ./dist/apps/workloads/private/event/v2alpha/event-multiplexer/release
1011

@@ -44,65 +45,3 @@ kos:
4445
- darwin/arm64
4546
- windows/amd64
4647
- windows/arm64
47-
48-
49-
#dockers:
50-
# - image_templates: [ "openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64" ]
51-
# dockerfile: Dockerfile
52-
# use: podman
53-
# build_flag_templates:
54-
# - --platform=linux/amd64
55-
# - --label=org.opencontainers.image.title={{ .ProjectName }}
56-
# - --label=org.opencontainers.image.description={{ .ProjectName }}
57-
# - --label=org.opencontainers.image.url=https://github.com/openecosystems/{{ .ProjectName }}
58-
# - --label=org.opencontainers.image.source=https://github.com/openecosystems/{{ .ProjectName }}
59-
# - --label=org.opencontainers.image.version={{ .Version }}
60-
# - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
61-
# - --label=org.opencontainers.image.revision={{ .FullCommit }}
62-
# - --label=org.opencontainers.image.licenses=Apache-2.0
63-
# extra_files:
64-
# - spec.yaml
65-
# - package.json
66-
# - image_templates: ["ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64"]
67-
# dockerfile: Dockerfile
68-
# use: podman
69-
# build_flag_templates:
70-
# - --platform=linux/amd64
71-
# - --label=org.opencontainers.image.title={{ .ProjectName }}
72-
# - --label=org.opencontainers.image.description={{ .ProjectName }}
73-
# - --label=org.opencontainers.image.url=https://github.com/openecosystems/{{ .ProjectName }}
74-
# - --label=org.opencontainers.image.source=https://github.com/openecosystems/{{ .ProjectName }}
75-
# - --label=org.opencontainers.image.version={{ .Version }}
76-
# - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
77-
# - --label=org.opencontainers.image.revision={{ .FullCommit }}
78-
# - --label=org.opencontainers.image.licenses=Apache-2.0
79-
# extra_files:
80-
# - spec.yaml
81-
# - package.json
82-
# - image_templates: ["ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-arm64v8"]
83-
# goarch: arm64
84-
# dockerfile: Dockerfile
85-
# use: podman
86-
# build_flag_templates:
87-
# - --platform=linux/arm64/v8
88-
# - --label=org.opencontainers.image.title={{ .ProjectName }}
89-
# - --label=org.opencontainers.image.description={{ .ProjectName }}
90-
# - --label=org.opencontainers.image.url=https://github.com/openecosystems/{{ .ProjectName }}
91-
# - --label=org.opencontainers.image.source=https://github.com/openecosystems/{{ .ProjectName }}
92-
# - --label=org.opencontainers.image.version={{ .Version }}
93-
# - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
94-
# - --label=org.opencontainers.image.revision={{ .FullCommit }}
95-
# - --label=org.opencontainers.image.licenses=Apache-2.0
96-
# extra_files:
97-
# - spec.yaml
98-
# - package.json
99-
#docker_manifests:
100-
# - name_template: ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}
101-
# image_templates:
102-
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64
103-
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-arm64v8
104-
# - name_template: ghcr.io/openecosystems/{{ .ProjectName }}:latest
105-
# image_templates:
106-
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-amd64
107-
# - ghcr.io/openecosystems/{{ .ProjectName }}:{{ .Version }}-arm64v8
108-
#

apps/workloads/public/mesh/v2alpha/cryptographic-mesh/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ ssh-add ~/.ssh/id_ed25519
4141

4242
# Enable CAP_NET for TUN device
4343
setcap cap_net_admin=+pe /nebula
44+
setcap cap_net_admin=+pe /lighthouse
4445

4546

4647
## Disable IpV6
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json
2+
version: 2
3+
project_name: apps-workloads-public-mesh-v2alpha-lighthouse
4+
5+
variables:
6+
path_to_repo_root: "../../../../../../"
7+
path_to_project: "apps/workloads/public/mesh/v2alpha/lighthouse"
8+
project_name: "lighthouse"
9+
10+
dist: ./dist/apps/workloads/public/mesh/v2alpha/lighthouse/release
11+
12+
monorepo:
13+
tag_prefix: "apps-workloads-public-mesh-v2alpha-lighthouse/"
14+
dir: apps/workloads/public/mesh/v2alpha/lighthouse
15+
16+
includes:
17+
- from_file:
18+
path: ./.config/goreleaser/goreleaser.workload.yaml
19+
# - from_file:
20+
# path: ./.config/goreleaser/notarize.yaml
21+
# - from_file:
22+
# path: ./.config/goreleaser/dockerize.yaml
23+
24+
nightly:
25+
version_template: "{{ incpatch .Version }}-devel"
26+
tag_name: "apps-workloads-public-mesh-v2alpha-lighthouse/devel"
27+
publish_release: true
28+
keep_single_release: true
29+
30+
31+
kos:
32+
- repositories:
33+
- ghcr.io/openecosystems/lighthouse
34+
#- openecosystems/lighthouse
35+
tags:
36+
- "{{.Version}}"
37+
- "{{.Tag}}"
38+
- latest
39+
- "{{if not .Prerelease}}stable{{end}}"
40+
bare: true
41+
preserve_import_paths: false
42+
platforms:
43+
- linux/amd64
44+
- linux/arm64
45+
- darwin/amd64
46+
- darwin/arm64
47+
- windows/amd64
48+
- windows/arm64
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## 0.33.0 (2024-12-31)
2+
3+
### 🚀 Features
4+
5+
- additional capabilities ([#1](https://github.com/openecosystems/ecosystem/pull/1))
6+
- initial commit made open source ([f53e868](https://github.com/openecosystems/ecosystem/commit/f53e868))
7+
8+
### ❤️ Thank You
9+
10+
- Dimy Jeannot @dimyjeannot

apps/workloads/public/mesh/v2alpha/lighthouse/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "workloads-public-mesh-v2alpha-lighthouse",
3-
"version": "0.32.0",
3+
"version": "0.33.0",
44
"description": "Cryptographic Mesh Lighthouse",
55
"private": true,
66
"license": "Apache-2.0"

0 commit comments

Comments
 (0)