Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple targets #1

Closed
YuukanOO opened this issue May 17, 2023 · 3 comments
Closed

Multiple targets #1

YuukanOO opened this issue May 17, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request released

Comments

@YuukanOO
Copy link
Owner

YuukanOO commented May 17, 2023

For now, seelf only support deploying application on a local Docker engine.

The goal is to support multiple providers inside a seelf instance. The simplest one will be a remote Docker engine and we can investigate some initial support for Podman, Docker Swarm or Kube

Initial version roadmap

  • Add a Target resource representing where seelf applications could be deployed with:
    • A unique id
    • A name (could be anything since it will only be used for tooltips and such)
    • A unique domain url (for the first version, only allow one domain per target, this will be extended to support multiple domains per target in the future but keep it simple for now)
    • A provider specific configuration with everything needed to connect to local/remote host. This one should be bound to a specific provider just like SourceData. So for example, a docker provider configuration will include an host and a private ssh key
  • Remove configuration related to the balancer (since it will now be configured on a per target basis)
  • Add a target property to app environments so an environment will now include a target and service variables
  • Add target to deployment config
  • Providers will receive a Target when deploying or cleaning stuff and they should appropriately setup it the first time they have to deal with it. This way, if a user deletes a proxy configuration, just restart seelf and the first deployment on that target will redeploy the proxy needed to make the application available
  • Changing an app environment target should clear that specific environment on the old target (it should happen on the first successful deployment on a different target)
  • App's name unicity will now be based on name, production_target and staging_target so multiple apps with the same name will be allowed only if they are not deployed on the target (because for now, one target equals one domain)

Configuring a target for Docker will use an ssh config file to configure Host / Identity file to use by using the target specific private key.

Not part of the first version

  • Multiple domains per target
  • Generates private key if no one is provided
  • Multiple targets per host and configurable proxy ports (See Multiple targets #1 (comment))
@YuukanOO YuukanOO added the enhancement New feature or request label May 17, 2023
@YuukanOO YuukanOO added this to the Roadmap milestone May 17, 2023
@YuukanOO YuukanOO modified the milestones: Roadmap, Next Jun 13, 2023
@YuukanOO YuukanOO self-assigned this Jun 13, 2023
@YuukanOO YuukanOO modified the milestones: Next, Roadmap Dec 5, 2023
@YuukanOO YuukanOO modified the milestones: Roadmap, Next Dec 21, 2023
@YuukanOO
Copy link
Owner Author

Allow multiple targets to run on the same server. For this one to work, they should use different ports and use traefik constraints to handle only applications they should handle.

@YuukanOO
Copy link
Owner Author

Allow multiple targets to run on the same server. For this one to work, they should use different ports and use traefik constraints to handle only applications they should handle.

This one will be delayed because HTTP or TLS challenge are only allowed on the default ports (80 and 443).

@YuukanOO YuukanOO changed the title Multiple backends Multiple providers Jan 17, 2024
YuukanOO added a commit that referenced this issue Jan 23, 2024
Add the `Target` entity and refactor a lot of stuff.
Also closes #43 by updating the `update_app` PATCH behavior.
YuukanOO added a commit that referenced this issue Jan 25, 2024
Add the `Target` entity and refactor a lot of stuff.
Also closes #43 by updating the `update_app` PATCH behavior.
YuukanOO added a commit that referenced this issue Jan 25, 2024
Add the `Target` entity and refactor a lot of stuff.
Also closes #43 by updating the `update_app` PATCH behavior.
YuukanOO added a commit that referenced this issue Jan 30, 2024
Add the `Target` entity and refactor a lot of stuff.
Also closes #43 by updating the `update_app` PATCH behavior.
YuukanOO added a commit that referenced this issue Feb 1, 2024
Add the `Target` entity and refactor a lot of stuff.
Also closes #43 by updating the `update_app` PATCH behavior.
@YuukanOO YuukanOO changed the title Multiple providers Multiple targets Mar 18, 2024
YuukanOO added a commit that referenced this issue Apr 18, 2024
BREAKING CHANGE: this commit introduces breaking changes related to resources managed by seelf. See the migration doc if you are migrating from v1.x.x to this one: https://yuukanoo.github.io/seelf/guide/migration.html#v2

Also closes #9 #43 #44
YuukanOO added a commit that referenced this issue Apr 18, 2024
BREAKING CHANGE: this commit introduces breaking changes related to resources managed by seelf. See the migration doc if you are migrating from v1.x.x to this one: https://yuukanoo.github.io/seelf/guide/migration.html#v2

Also closes #9 #43 #44
github-actions bot pushed a commit that referenced this issue Apr 18, 2024
# [2.0.0](v1.2.0...v2.0.0) (2024-04-18)

### Features

* remote deployments closes [#1](#1) ([4663b29](4663b29)), closes [#9](#9) [#43](#43) [#44](#44)

### BREAKING CHANGES

* this commit introduces breaking changes related to resources managed by seelf. See the migration doc if you are migrating from v1.x.x to this one: https://yuukanoo.github.io/seelf/guide/migration.html#v2
@YuukanOO
Copy link
Owner Author

🎉 This issue has been resolved in version 2.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@YuukanOO YuukanOO removed this from the Next milestone Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request released
Projects
None yet
Development

No branches or pull requests

1 participant