refactor: rebrand from net.siegeln to io.cameleer
Some checks failed
CI / build (push) Successful in 3m7s
CI / docker (push) Failing after 7s

Institutionalize the product identity ahead of public release:

- Java package: net.siegeln.cameleer.saas → io.cameleer.saas (109 files)
- Maven groupId: net.siegeln.cameleer → io.cameleer
- Public image defaults: gitea.siegeln.net/cameleer/ → registry.cameleer.io/cameleer/
- Updated docs (architecture, user-manual, HOWTO, runtime-loader README)
- Updated CLAUDE.md path references

Internal build infra (CI workflows, .gitmodules, npm registry, Maven repo)
intentionally kept at gitea.siegeln.net — code stays on internal Gitea.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-28 16:26:34 +02:00
parent 6ac06d6859
commit 966691f2c8
119 changed files with 312 additions and 312 deletions

View File

@@ -48,8 +48,8 @@ VENDOR_SEED_ENABLED=false
# DOCKER_GID=0
# Docker images (override for custom registries)
# TRAEFIK_IMAGE=gitea.siegeln.net/cameleer/cameleer-traefik
# POSTGRES_IMAGE=gitea.siegeln.net/cameleer/cameleer-postgres
# CLICKHOUSE_IMAGE=gitea.siegeln.net/cameleer/cameleer-clickhouse
# LOGTO_IMAGE=gitea.siegeln.net/cameleer/cameleer-logto
# CAMELEER_IMAGE=gitea.siegeln.net/cameleer/cameleer-saas
# TRAEFIK_IMAGE=registry.cameleer.io/cameleer/cameleer-traefik
# POSTGRES_IMAGE=registry.cameleer.io/cameleer/cameleer-postgres
# CLICKHOUSE_IMAGE=registry.cameleer.io/cameleer/cameleer-clickhouse
# LOGTO_IMAGE=registry.cameleer.io/cameleer/cameleer-logto
# CAMELEER_IMAGE=registry.cameleer.io/cameleer/cameleer-saas

View File

@@ -21,7 +21,7 @@ Agent-server protocol is defined in `cameleer/cameleer-common/PROTOCOL.md`. The
## Key Packages
### Java Backend (`src/main/java/net/siegeln/cameleer/saas/`)
### Java Backend (`src/main/java/io/cameleer/saas/`)
| Package | Purpose | Key classes |
|---------|---------|-------------|

View File

@@ -444,4 +444,4 @@ VERSION=local docker compose -f docker-compose.yml -f docker-compose.dev.yml up
**Ephemeral key warnings**: `No Ed25519 key files configured -- generating ephemeral keys (dev mode)` is normal in development. For production, generate keys as described above.
**Container deployment fails**: Check that Docker socket is mounted (`/var/run/docker.sock`) and the `cameleer-runtime-base` image is available. Pull it with: `docker pull gitea.siegeln.net/cameleer/cameleer-runtime-base:latest`
**Container deployment fails**: Check that Docker socket is mounted (`/var/run/docker.sock`) and the `cameleer-runtime-base` image is available. Pull it with: `docker pull registry.cameleer.io/cameleer/cameleer-runtime-base:latest`

View File

@@ -12,8 +12,8 @@ CI (`.gitea/workflows/ci.yml`, `docker` job, "Build and push runtime-loader
image" step) builds and pushes this image on every main / feature-branch
push. Manual build for local testing:
docker build -t gitea.siegeln.net/cameleer/cameleer-runtime-loader:<tag> .
docker push gitea.siegeln.net/cameleer/cameleer-runtime-loader:<tag>
docker build -t registry.cameleer.io/cameleer/cameleer-runtime-loader:<tag> .
docker push registry.cameleer.io/cameleer/cameleer-runtime-loader:<tag>
## Contract (consumed by cameleer-server)

View File

@@ -79,8 +79,8 @@ logging. Serves a React SPA that wraps the full user experience.
| postgres | `postgres:16-alpine` | 5432 | cameleer | Shared PostgreSQL (3 databases) |
| logto | `ghcr.io/logto-io/logto:latest` | 3001 | cameleer | OIDC identity provider |
| logto-bootstrap | `postgres:16-alpine` (ephemeral) | -- | cameleer | One-shot bootstrap script |
| cameleer-saas | `gitea.siegeln.net/cameleer/cameleer-saas` | 8080 | cameleer | SaaS API + SPA serving |
| cameleer-server | `gitea.siegeln.net/cameleer/cameleer-server`| 8081 | cameleer | Observability backend |
| cameleer-saas | `registry.cameleer.io/cameleer/cameleer-saas` | 8080 | cameleer | SaaS API + SPA serving |
| cameleer-server | `registry.cameleer.io/cameleer/cameleer-server`| 8081 | cameleer | Observability backend |
| clickhouse | `clickhouse/clickhouse-server:latest` | 8123 | cameleer | Time-series telemetry storage |
### Docker Network
@@ -876,8 +876,8 @@ state (`currentTenantId`). Provides `logout` and `signIn` callbacks.
| Variable | Default | Description |
|-----------------------------------|------------------------------------|----------------------------------|
| `CAMELEER_SAAS_PROVISIONING_SERVERIMAGE` | `gitea.siegeln.net/cameleer/cameleer-server:latest` | Docker image for per-tenant server |
| `CAMELEER_SAAS_PROVISIONING_SERVERUIIMAGE` | `gitea.siegeln.net/cameleer/cameleer-server-ui:latest` | Docker image for per-tenant UI |
| `CAMELEER_SAAS_PROVISIONING_SERVERIMAGE` | `registry.cameleer.io/cameleer/cameleer-server:latest` | Docker image for per-tenant server |
| `CAMELEER_SAAS_PROVISIONING_SERVERUIIMAGE` | `registry.cameleer.io/cameleer/cameleer-server-ui:latest` | Docker image for per-tenant UI |
| `CAMELEER_SAAS_PROVISIONING_NETWORKNAME` | `cameleer-saas_cameleer` | Shared services Docker network |
| `CAMELEER_SAAS_PROVISIONING_TRAEFIKNETWORK` | `cameleer-traefik` | Traefik Docker network |
| `CAMELEER_SAAS_PROVISIONING_PUBLICHOST` | `localhost` | Public hostname (same as infrastructure `PUBLIC_HOST`) |

View File

@@ -573,7 +573,7 @@ The Cameleer SaaS application itself does not need any changes -- all identity c
1. Check backend logs: `docker compose logs cameleer-saas`.
2. Verify Docker socket access: `docker compose exec cameleer-saas ls -la /var/run/docker.sock`.
3. Pull the runtime base image manually: `docker pull gitea.siegeln.net/cameleer/cameleer-runtime-base:latest`.
3. Pull the runtime base image manually: `docker pull registry.cameleer.io/cameleer/cameleer-runtime-base:latest`.
4. Check available disk space: `docker system df`.
### Agent Not Connecting to Server

View File

@@ -11,7 +11,7 @@
<relativePath/>
</parent>
<groupId>net.siegeln.cameleer</groupId>
<groupId>io.cameleer</groupId>
<artifactId>cameleer-saas</artifactId>
<version>0.1.0-SNAPSHOT</version>
<name>Cameleer SaaS Platform</name>

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas;
package io.cameleer.saas;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.account;
package io.cameleer.saas.account;
import net.siegeln.cameleer.saas.account.AccountService.*;
import io.cameleer.saas.account.AccountService.*;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.oauth2.jwt.Jwt;

View File

@@ -1,7 +1,7 @@
package net.siegeln.cameleer.saas.account;
package io.cameleer.saas.account;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.notification.PasswordResetNotificationService;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.notification.PasswordResetNotificationService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.audit;
package io.cameleer.saas.audit;
public enum AuditAction {
AUTH_REGISTER, AUTH_LOGIN, AUTH_LOGIN_FAILED, AUTH_LOGOUT,

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.audit;
package io.cameleer.saas.audit;
import java.time.Instant;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.audit;
package io.cameleer.saas.audit;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.audit;
package io.cameleer.saas.audit;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.audit;
package io.cameleer.saas.audit;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.audit;
package io.cameleer.saas.audit;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.audit;
package io.cameleer.saas.audit;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.identity.LogtoManagementClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import java.time.Instant;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
/**
* Provider interface for certificate file management.

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import org.springframework.data.jpa.repository.JpaRepository;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import net.siegeln.cameleer.saas.tenant.TenantRepository;
import io.cameleer.saas.tenant.TenantRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.certificate;
package io.cameleer.saas.certificate;
import net.siegeln.cameleer.saas.provisioning.DockerCertificateManager;
import io.cameleer.saas.provisioning.DockerCertificateManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.identity.LogtoManagementClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationReadyEvent;

View File

@@ -1,7 +1,7 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.tenant.TenantService;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.tenant.TenantService;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.Authentication;
import org.springframework.security.oauth2.jwt.Jwt;

View File

@@ -1,12 +1,12 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import net.siegeln.cameleer.saas.tenant.TenantService;
import net.siegeln.cameleer.saas.vendor.VendorAuthPolicyRepository;
import io.cameleer.saas.tenant.TenantService;
import io.cameleer.saas.vendor.VendorAuthPolicyRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.MediaType;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import net.siegeln.cameleer.saas.vendor.VendorAuthPolicyRepository;
import io.cameleer.saas.vendor.VendorAuthPolicyRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import com.nimbusds.jose.JWSAlgorithm;
import com.nimbusds.jose.jwk.source.JWKSourceBuilder;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import java.util.UUID;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import net.siegeln.cameleer.saas.tenant.TenantService;
import io.cameleer.saas.tenant.TenantService;
import org.springframework.security.oauth2.jwt.Jwt;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.config;
package io.cameleer.saas.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.identity;
package io.cameleer.saas.identity;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.identity;
package io.cameleer.saas.identity;
import com.fasterxml.jackson.databind.JsonNode;
import org.slf4j.Logger;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.identity;
package io.cameleer.saas.identity;
import com.fasterxml.jackson.databind.JsonNode;
import org.slf4j.Logger;

View File

@@ -1,7 +1,7 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import net.siegeln.cameleer.saas.license.dto.LicenseResponse;
import net.siegeln.cameleer.saas.tenant.TenantService;
import io.cameleer.saas.license.dto.LicenseResponse;
import io.cameleer.saas.tenant.TenantService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import net.siegeln.cameleer.saas.tenant.Tier;
import io.cameleer.saas.tenant.Tier;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

View File

@@ -1,11 +1,11 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import com.cameleer.license.minter.LicenseMinter;
import com.cameleer.license.LicenseInfo;
import com.cameleer.license.LicenseValidator;
import net.siegeln.cameleer.saas.audit.AuditAction;
import net.siegeln.cameleer.saas.audit.AuditService;
import net.siegeln.cameleer.saas.tenant.TenantEntity;
import io.cameleer.saas.audit.AuditAction;
import io.cameleer.saas.audit.AuditService;
import io.cameleer.saas.tenant.TenantEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import org.springframework.data.jpa.repository.JpaRepository;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license;
package io.cameleer.saas.license;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.license.dto;
package io.cameleer.saas.license.dto;
import net.siegeln.cameleer.saas.license.LicenseEntity;
import io.cameleer.saas.license.LicenseEntity;
import java.time.Instant;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license.dto;
package io.cameleer.saas.license.dto;
import java.util.Map;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.license.dto;
package io.cameleer.saas.license.dto;
import net.siegeln.cameleer.saas.license.LicenseEntity;
import io.cameleer.saas.license.LicenseEntity;
import java.time.Instant;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license.dto;
package io.cameleer.saas.license.dto;
import java.time.Instant;
import java.util.Map;

View File

@@ -1,3 +1,3 @@
package net.siegeln.cameleer.saas.license.dto;
package io.cameleer.saas.license.dto;
public record VerifyLicenseRequest(String token) {}

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.license.dto;
package io.cameleer.saas.license.dto;
import java.time.Instant;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.notification;
package io.cameleer.saas.notification;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.notification;
package io.cameleer.saas.notification;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.provisioning.ProvisioningProperties;
import net.siegeln.cameleer.saas.vendor.EmailConnectorService;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.provisioning.ProvisioningProperties;
import io.cameleer.saas.vendor.EmailConnectorService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;

View File

@@ -1,11 +1,11 @@
package net.siegeln.cameleer.saas.onboarding;
package io.cameleer.saas.onboarding;
import jakarta.validation.Valid;
import java.util.Map;
import net.siegeln.cameleer.saas.tenant.TenantEntity;
import net.siegeln.cameleer.saas.tenant.dto.TenantResponse;
import net.siegeln.cameleer.saas.tenant.TenantRepository;
import net.siegeln.cameleer.saas.tenant.TenantStatus;
import io.cameleer.saas.tenant.TenantEntity;
import io.cameleer.saas.tenant.dto.TenantResponse;
import io.cameleer.saas.tenant.TenantRepository;
import io.cameleer.saas.tenant.TenantStatus;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;

View File

@@ -1,10 +1,10 @@
package net.siegeln.cameleer.saas.onboarding;
package io.cameleer.saas.onboarding;
import net.siegeln.cameleer.saas.account.AccountService;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.tenant.TenantEntity;
import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest;
import net.siegeln.cameleer.saas.vendor.VendorTenantService;
import io.cameleer.saas.account.AccountService;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.tenant.TenantEntity;
import io.cameleer.saas.tenant.dto.CreateTenantRequest;
import io.cameleer.saas.vendor.VendorTenantService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.portal;
package io.cameleer.saas.portal;
import net.siegeln.cameleer.saas.audit.AuditDto.AuditLogPage;
import net.siegeln.cameleer.saas.audit.AuditService;
import net.siegeln.cameleer.saas.config.TenantContext;
import io.cameleer.saas.audit.AuditDto.AuditLogPage;
import io.cameleer.saas.audit.AuditService;
import io.cameleer.saas.config.TenantContext;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;

View File

@@ -1,9 +1,9 @@
package net.siegeln.cameleer.saas.portal;
package io.cameleer.saas.portal;
import net.siegeln.cameleer.saas.certificate.TenantCaCertEntity;
import net.siegeln.cameleer.saas.certificate.TenantCaCertService;
import net.siegeln.cameleer.saas.config.TenantContext;
import net.siegeln.cameleer.saas.tenant.TenantService;
import io.cameleer.saas.certificate.TenantCaCertEntity;
import io.cameleer.saas.certificate.TenantCaCertService;
import io.cameleer.saas.config.TenantContext;
import io.cameleer.saas.tenant.TenantService;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.annotation.AuthenticationPrincipal;

View File

@@ -1,16 +1,16 @@
package net.siegeln.cameleer.saas.portal;
package io.cameleer.saas.portal;
import net.siegeln.cameleer.saas.account.AccountService;
import net.siegeln.cameleer.saas.config.TenantContext;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.identity.ServerApiClient;
import net.siegeln.cameleer.saas.license.LicenseEntity;
import net.siegeln.cameleer.saas.license.LicenseService;
import net.siegeln.cameleer.saas.provisioning.ProvisioningProperties;
import net.siegeln.cameleer.saas.provisioning.TenantProvisioner;
import net.siegeln.cameleer.saas.tenant.TenantEntity;
import net.siegeln.cameleer.saas.tenant.TenantService;
import net.siegeln.cameleer.saas.vendor.VendorTenantService;
import io.cameleer.saas.account.AccountService;
import io.cameleer.saas.config.TenantContext;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.identity.ServerApiClient;
import io.cameleer.saas.license.LicenseEntity;
import io.cameleer.saas.license.LicenseService;
import io.cameleer.saas.provisioning.ProvisioningProperties;
import io.cameleer.saas.provisioning.TenantProvisioner;
import io.cameleer.saas.tenant.TenantEntity;
import io.cameleer.saas.tenant.TenantService;
import io.cameleer.saas.vendor.VendorTenantService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Lazy;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.portal;
package io.cameleer.saas.portal;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

View File

@@ -1,9 +1,9 @@
package net.siegeln.cameleer.saas.portal;
package io.cameleer.saas.portal;
import net.siegeln.cameleer.saas.config.TenantContext;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.tenant.TenantEntity;
import net.siegeln.cameleer.saas.tenant.TenantService;
import io.cameleer.saas.config.TenantContext;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.tenant.TenantEntity;
import io.cameleer.saas.tenant.TenantService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import net.siegeln.cameleer.saas.certificate.CertificateManager;
import io.cameleer.saas.certificate.CertificateManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import net.siegeln.cameleer.saas.certificate.CertificateInfo;
import net.siegeln.cameleer.saas.certificate.CertificateManager;
import net.siegeln.cameleer.saas.certificate.CertValidationResult;
import io.cameleer.saas.certificate.CertificateInfo;
import io.cameleer.saas.certificate.CertificateManager;
import io.cameleer.saas.certificate.CertValidationResult;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import net.siegeln.cameleer.saas.certificate.CertificateInfo;
import net.siegeln.cameleer.saas.certificate.CertificateManager;
import net.siegeln.cameleer.saas.certificate.CertValidationResult;
import io.cameleer.saas.certificate.CertificateInfo;
import io.cameleer.saas.certificate.CertificateManager;
import io.cameleer.saas.certificate.CertValidationResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.command.CreateContainerResponse;
@@ -21,10 +21,10 @@ public class DockerTenantProvisioner implements TenantProvisioner {
private final DockerClient docker;
private final ProvisioningProperties props;
private final net.siegeln.cameleer.saas.license.SigningKeyService signingKeyService;
private final io.cameleer.saas.license.SigningKeyService signingKeyService;
public DockerTenantProvisioner(DockerClientConfig config, ProvisioningProperties props,
net.siegeln.cameleer.saas.license.SigningKeyService signingKeyService) {
io.cameleer.saas.license.SigningKeyService signingKeyService) {
this.props = props;
this.signingKeyService = signingKeyService;
DockerHttpClient httpClient = new ZerodepDockerHttpClient.Builder()

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
public record ProvisionResult(
boolean success,

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
public record ServerStatus(
State state,

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import java.util.UUID;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
public interface TenantProvisioner {
boolean isAvailable();

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.provisioning;
package io.cameleer.saas.provisioning;
import com.github.dockerjava.core.DefaultDockerClientConfig;
import com.github.dockerjava.core.DockerClientConfig;
import net.siegeln.cameleer.saas.license.SigningKeyService;
import io.cameleer.saas.license.SigningKeyService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.tenant;
package io.cameleer.saas.tenant;
import jakarta.validation.Valid;
import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest;
import net.siegeln.cameleer.saas.tenant.dto.TenantResponse;
import io.cameleer.saas.tenant.dto.CreateTenantRequest;
import io.cameleer.saas.tenant.dto.TenantResponse;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.tenant;
package io.cameleer.saas.tenant;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.tenant;
package io.cameleer.saas.tenant;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

View File

@@ -1,9 +1,9 @@
package net.siegeln.cameleer.saas.tenant;
package io.cameleer.saas.tenant;
import net.siegeln.cameleer.saas.audit.AuditAction;
import net.siegeln.cameleer.saas.audit.AuditService;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest;
import io.cameleer.saas.audit.AuditAction;
import io.cameleer.saas.audit.AuditService;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.tenant.dto.CreateTenantRequest;
import org.springframework.stereotype.Service;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.tenant;
package io.cameleer.saas.tenant;
public enum TenantStatus {
PROVISIONING, ACTIVE, SUSPENDED, DELETED

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.tenant;
package io.cameleer.saas.tenant;
public enum Tier {
STARTER, TEAM, BUSINESS, ENTERPRISE

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.tenant.dto;
package io.cameleer.saas.tenant.dto;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.tenant.dto;
package io.cameleer.saas.tenant.dto;
import net.siegeln.cameleer.saas.tenant.TenantEntity;
import io.cameleer.saas.tenant.TenantEntity;
import java.time.Instant;
import java.util.UUID;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import jakarta.validation.Valid;
import jakarta.validation.constraints.Email;

View File

@@ -1,7 +1,7 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.provisioning.ProvisioningProperties;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.provisioning.ProvisioningProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;

View File

@@ -1,6 +1,6 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import net.siegeln.cameleer.saas.provisioning.ProvisioningProperties;
import io.cameleer.saas.provisioning.ProvisioningProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

View File

@@ -1,7 +1,7 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import net.siegeln.cameleer.saas.provisioning.ServerStatus;
import net.siegeln.cameleer.saas.tenant.TenantEntity;
import io.cameleer.saas.provisioning.ServerStatus;
import io.cameleer.saas.tenant.TenantEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;

View File

@@ -1,9 +1,9 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import net.siegeln.cameleer.saas.identity.ServerApiClient;
import net.siegeln.cameleer.saas.identity.ServerApiClient.MetricsQueryResponse;
import net.siegeln.cameleer.saas.identity.ServerApiClient.MetricsPoint;
import net.siegeln.cameleer.saas.identity.ServerApiClient.MetricsSeries;
import io.cameleer.saas.identity.ServerApiClient;
import io.cameleer.saas.identity.ServerApiClient.MetricsQueryResponse;
import io.cameleer.saas.identity.ServerApiClient.MetricsPoint;
import io.cameleer.saas.identity.ServerApiClient.MetricsSeries;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import net.siegeln.cameleer.saas.vendor.VendorAdminService.CreateAdminRequest;
import net.siegeln.cameleer.saas.vendor.VendorAdminService.CreateAdminResponse;
import net.siegeln.cameleer.saas.vendor.VendorAdminService.VendorAdmin;
import io.cameleer.saas.vendor.VendorAdminService.CreateAdminRequest;
import io.cameleer.saas.vendor.VendorAdminService.CreateAdminResponse;
import io.cameleer.saas.vendor.VendorAdminService.VendorAdmin;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.oauth2.jwt.Jwt;

View File

@@ -1,8 +1,8 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import net.siegeln.cameleer.saas.account.AccountService;
import net.siegeln.cameleer.saas.identity.LogtoManagementClient;
import net.siegeln.cameleer.saas.notification.PasswordResetNotificationService;
import io.cameleer.saas.account.AccountService;
import io.cameleer.saas.identity.LogtoManagementClient;
import io.cameleer.saas.notification.PasswordResetNotificationService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;

View File

@@ -1,7 +1,7 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import net.siegeln.cameleer.saas.audit.AuditDto.AuditLogPage;
import net.siegeln.cameleer.saas.audit.AuditService;
import io.cameleer.saas.audit.AuditDto.AuditLogPage;
import io.cameleer.saas.audit.AuditService;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import jakarta.persistence.*;
import java.time.Instant;

View File

@@ -1,4 +1,4 @@
package net.siegeln.cameleer.saas.vendor;
package io.cameleer.saas.vendor;
import org.springframework.data.jpa.repository.JpaRepository;

Some files were not shown because too many files have changed in this diff Show More