Skip to content

Releases: psviderski/uncloud

v0.1

24 Jan 11:18
Compare
Choose a tag to compare

Changelog

  • df25b0d add --mode flag to run command
  • 2a898b3 add -v|--volume to bind mount host path into a service container
  • 5cb765d add Docker gRPC service to create and start a Docker container on machine
  • b236994 add EmptyResponse common message
  • 708e14a add Exec and ExecMulti methods to corrosion API client
  • 6d39174 add Healthy method to Container that derives it from status string
  • 16120b8 add ListContainers and RemoveContainer methods to Docker service
  • 1fb8a3d add ListServices method and ls CLI command
  • 5621a84 add Mode to Service entity
  • 43ddb5c add PullImage method to gRPC Docker service
  • 4de7ecd add String() method for PortSpec to convert to publish format
  • 2134f3c add a stub for Caddyfile controller
  • 6d1c3aa add basic client TCPConnector to directly connect to a gRPC endpoint
  • 349dd0d add basic e2e cluster lifecycle test
  • bfbcec3 add caddy/v2 dependency to generate a config
  • c635847 add comments
  • c2b466b add common Metadata message to be injected in reply messages by gRPC proxy
  • 73d41c7 add compose-like progress for running service
  • f7c4490 add diagram for landing page with drawio source
  • 5504951 add e2e test for global service creation and removal
  • e123f72 add exponential backoff for network errors in corrosion client
  • c29fa57 add favicons
  • 34316c7 add helper Empty message
  • 8e53fd4 add how it works section with diagram
  • 6e0df53 add in docker service runner for corrosion
  • e73e389 add index on containers.machine_id
  • 4ec87db add init machine to store when initialising a cluster
  • bda1123 add install_cli.sh script to be donwloaded at get.uncloud.run
  • 5061097 add landing section to follow the journey and subscribe via email
  • bb96746 add logging for starting/restarting corrosion service
  • fa54584 add logo and project name
  • 085ee28 add make targets to build and push corrosion image
  • 24a824b add make targets to build and push ucind image
  • 3c1d220 add methods to create, update, list, delete containers in store
  • 336bdf9 add minor log
  • e5bda92 add opptimistic sleep on corrosion service start to wait for schema initialisation
  • daada3b add service inspect command, introduce squirrel for sql query building
  • f85b5dd add service rm CLI command
  • 8db7ac8 add subprocess corrosion service runner
  • 3d5fe0a add support for tcp cluster connections in uncloud config
  • 2819ba6 add sync_status field to containers table
  • b016252 add terminal demo to hero section
  • d7bad5e add todo
  • 40f9298 add updated_at field to containers table
  • 848abbd add validation for PortSpec
  • cbe7c56 add value proposition section: Cloud-like experience you control
  • 9755a69 allow one2many for ListContainers
  • 5c74b09 allow running a service on a specified machine
  • 94186b2 allow to subscribe to machine changes in the cluster store
  • 1bcb883 auto resubscribe a corrosion subscription if an error occurs
  • ee580df automatically rotate WG peer endpoints if can't establish a connection
  • 8bfb3b8 basic validation for hostname in port publishing
  • e9d0768 build corrosion image based on wolfi]
  • 7b98ed3 calculate WG peer connection status
  • b25938a clean up corrosion systemd service
  • e82b78d comment DB schema
  • 911522c comment out alpinejs
  • 69c9167 configure corrosion bootstrap peers when initialising a machine
  • 741378d create containers table in Corrosion store
  • 9fcc319 create corrosion config
  • 0effba0 create corrosion store when initialising machine
  • 4479490 create custom NewSlogTextHandler log handler to override the json one patched by caddy pkg
  • 26df674 define PortSpec type for publishing ports
  • c3ba43a delete old non-distributed cluster state, fix storing endpoints in store
  • e851f25 delete removed Docker containers from store, sync only uncloud labeled
  • 3ee7cb6 describe features on landing
  • 9dbcf1e do not build and deploy uncloud binary to dev machines
  • aa236aa do not init corrosion data dir in install.sh
  • 2f6c988 do not rotate endpoints on daemon restart, handle endpoint changes on established reverse peer connections
  • f2e7307 enable Kit email subscription form
  • 0652123 encode and decode published ports using container labels
  • 5fe77c6 exclude Docker bridge br-[0-9a-f]{12} interfaces from machine routable IPs
  • a4be451 find first available machine for running a service
  • 3f7726e fix SlogTextHandler to respect minimum log level
  • bee101a fix asset template in .goreleaser config
  • 386e4e2 fix context in PullImage
  • 6f9fc69 fix corrosion data dir, add reload to systemd unit
  • c0dff56 fix filter unmarshalling for list containers
  • c275273 fix install.sh to start uncloud.service after installing all systemd units
  • 092fe25 fix navbar on mobile
  • 0b5dd2f fix network peer configuration when just joining the cluster before store is synced
  • e6df331 fix options for machine list command
  • 2c0cf28 fix peer status persistence, update status every second
  • 042b44c fix port binding for host ports
  • 1316dd3 fix proxy Director usage and close on shutdown
  • 3ce9c8b fix run command, support 1 replica and global mode
  • 190d0de fix warnings on landing
  • 2fd1ee2 fix: access to /run/uncloud.sock for a non-root user when initialising a fresh machine
  • 2eff7d1 format
  • bb77ff9 format
  • 8a3f003 format machine command flags
  • 11612a8 forward NotFound errors from StartContainer and RemoveContainer
  • 5c96f75 generate a name for the service
  • 7556f8c generate basic caddy.json with empty http and https servers
  • 2b3f325 generate caddy config with routes from published http(s) ports
  • 035601d generate container name and assign service labels to container
  • 6951221 github and get started links in navbar
  • cedafd0 implement ClusterMembershipStates for corrosion admin client
  • 9cb4b35 implement PortSpec parsing
  • 6d4698f implement Query in corrosion API client
  • 88ce2d5 implement RunService for replicated mode with only 1 replica
  • 2727c3c implement RunService in global mode and RemoveService
  • 93dfa5c implement admin client for Corrosion admin API
  • 99c9aab implement more consistent InspectService that broadcasts Docker requests to all machines
  • b73577e implement subscription in corrosion client
  • 5094149 improve error message for adding machine that already exists in the cluster
  • 22bca16 include alpha-numeric random string generation in secret package
  • 95175d1 init Dockerfile to run machine in container
  • 6eb373e init InspectService method
  • 667ecad init clust...
Read more

v0.0.1

23 Sep 11:23
Compare
Choose a tag to compare

Changelog

  • 58fb310 Cluster service implementation with basic local state and IPAM manager
  • afe9c13 Implement grpc server in the daemon to receive cluster requests
  • c99cdcd Initial commit
  • 92e3b21 add -profile flag
  • cc7b4dc add .env file to mise
  • 28c73d9 add .goreleaser.yaml config
  • e9f4ad7 add Machine gRPC service
  • c56f81b add TODO
  • a64caf3 add Token RPC endpoint to grab a machine token for adding it to a cluster
  • 4e042be add machine list command and corresponding RPC endpoint
  • 3f71aec add uncloud machine init command to initialise a new cluster on local machine
  • 945eff4 add uncloud machine token command to print machine token to add machine to cluster
  • 3f13f6c add cmdexec package to execute commands on remote hosts via SSH
  • c37b1f7 add comment
  • 3f497b5 add couple TODOs
  • da0c9bb add expriment with using talos discovery service
  • c103b6e add install.sh script to install uncloudd daemon on a machine
  • 222edb7 add machine config
  • fd396dd add management IP to machine and peer configs, update daemon to listen on it
  • c93206e add network/tunnel package to establish user space WG tunnel to a machine
  • cfa2105 add public IP to the end of endpoint list
  • fd314bc add ssh destination to connection config
  • 3244838 add the initial draft of the design doc
  • 41098d0 assign ipv6 address to each machine derived from their public keys
  • 8e1e85e basic PoC of using Docker networkdb as a general purpose key-value store
  • 73be824 convert systemd unit to Type=notify and report readiness
  • a980cb7 create uncloud Linux group in install script
  • ea8dfca delete old unused ClusterClient
  • d66818e detect if the machine is already initialised
  • fb236fb establish SSH connection when adding a new machine
  • e6d8a33 experiment: Serf transport for go-ds-crdt
  • 43e2bf8 fix concurrent output in install.sh
  • fdb277c fix internal/machine package to build on darwin
  • f49e91b fix parse token, return out in cmdexec run
  • eed2c88 generate user key for new cluster and add it to peers on bootstrap machine
  • 9e44d30 implement CLI init cluster, add SSH and WireGuard cluster connectors
  • e074b68 implement uncloudd daemon that starts a WireGuard network without peer probing
  • b4606b9 init machined cli
  • bd53e3f machine add: configure remote machine to join the cluster network
  • 6856a77 minor
  • 4656bdd minor config refactor and management IP
  • 84dd57a minor install.sh
  • 7e93abb move InitCluster to Machine
  • 69c259a move daemon pkg to top level
  • 93a9e32 provision machine when adding it to the cluster
  • a599506 reduce log level for WG tunnel
  • aad2ac2 refactor Cluster gRPC service, add common type converters from/to netip
  • 86d949a refactor Machine to run gRPC server to init cluster
  • 03c2c0d refactor cluster connection in CLI
  • da72c05 refactor cluster server to initialise state when initialising cluster, allow machine to be reinitialised
  • 31e2b84 refactor daemon to use Machine to manage all components
  • 5dc0832 refactor network operations into networkController to start/stop when joining/leaving cluster
  • 7ef7475 remove redundant logging in install.sh
  • 2c46c0a rename Cluster to Server
  • 45cacfa rename Machine message to MachineInfo to not conflict with the service name
  • c58c99e rename machine config to state
  • 4e2640b rename machines to connections in config
  • 38c0e65 retrieve nodes from remote peers
  • d735d56 run install.sh script when initialising a cluster on the init machine
  • ddf7d23 set uncloud group on the unix socket to allow configured non-root users to access it
  • 1a5a78e setup Docker network and iptables forwarding when starting machine
  • 160a15f split cluster Server into Machine and Server
  • 676f22a start WG network when the machine is initialised via RPC call
  • 18d5680 temporary disable green
  • d369884 uncloud CLI tool and 'machine add' command to bootstrap a new cluster
  • 5f790b7 update .gitignore
  • c77c34f update .gitignore
  • 08bbca3 update README
  • ca14e2b update goreleases: release 2 binaries
  • 2514c80 update init command to send RPC calls over SSH tunnel
  • 47073f0 update network peers when new machine added