tagNames;
31 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetTag.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * {@link Tag} of a {@link DistributionSet}.
14 | */
15 | public interface DistributionSetTag extends Tag {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/NamedEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * Entities that have a name and description.
14 | */
15 | public interface NamedEntity extends TenantAwareBaseEntity {
16 |
17 | /**
18 | * Maximum length of name.
19 | */
20 | int NAME_MAX_SIZE = 128;
21 |
22 | /**
23 | * Maximum length of description.
24 | */
25 | int DESCRIPTION_MAX_SIZE = 512;
26 |
27 | /**
28 | * @return the description of the entity.
29 | */
30 | String getDescription();
31 |
32 | /**
33 | * @return the name of the entity.
34 | */
35 | String getName();
36 | }
37 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/NamedVersionedEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * Entities that have a name and a description.
14 | */
15 | public interface NamedVersionedEntity extends NamedEntity {
16 |
17 | /**
18 | * Maximum length of version.
19 | */
20 | int VERSION_MAX_SIZE = 64;
21 |
22 | /**
23 | * @return the version of entity.
24 | */
25 | String getVersion();
26 | }
27 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RepositoryModelConstants.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * Repository model constants.
14 | */
15 | public final class RepositoryModelConstants {
16 |
17 | /**
18 | * indicating that target action has no force time which is only needed in
19 | * case of {@link Action.ActionType#TIMEFORCED}.
20 | */
21 | public static final Long NO_FORCE_TIME = 0L;
22 |
23 | private RepositoryModelConstants() {
24 | // Utility class.
25 | }
26 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/SoftwareModuleType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * {@link SoftwareModuleType} is an abstract definition used in
14 | * {@link DistributionSetType}s and includes additional {@link SoftwareModule}
15 | * specific information.
16 | */
17 | public interface SoftwareModuleType extends Type {
18 |
19 | /**
20 | * @return maximum assignments of an {@link SoftwareModule} of this type to
21 | * a {@link DistributionSet}.
22 | */
23 | int getMaxAssignments();
24 | }
25 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/Statistic.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2023 Bosch.IO GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 |
11 | package org.eclipse.hawkbit.repository.model;
12 |
13 | public interface Statistic {
14 |
15 | /**
16 | * @return the key of the Statistic entity.
17 | */
18 | Object getName();
19 |
20 | /**
21 | * @return the value of the Statistic entity.
22 | */
23 | Object getData();
24 | }
25 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/Tag.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * {@link Tag} entry.
14 | */
15 | public interface Tag extends NamedEntity {
16 |
17 | /**
18 | * Maximum length of colour in Management UI.
19 | */
20 | int COLOUR_MAX_SIZE = 16;
21 |
22 | /**
23 | * @return colour code of the tag used in Management UI.
24 | */
25 | String getColour();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTag.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * Target tag element.
14 | */
15 | public interface TargetTag extends Tag {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TenantAwareBaseEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * {@link BaseEntity} that distinguishes between tenants.
14 | */
15 | public interface TenantAwareBaseEntity extends BaseEntity {
16 |
17 | /**
18 | * @return tenant name
19 | */
20 | String getTenant();
21 | }
22 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TenantMetaData.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.model;
11 |
12 | /**
13 | * MetaData of a tenant account.
14 | */
15 | public interface TenantMetaData extends BaseEntity {
16 |
17 | DistributionSetType getDefaultDsType();
18 |
19 | String getTenant();
20 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/rsql/VirtualPropertyReplacer.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.rsql;
11 |
12 | import java.io.Serializable;
13 |
14 | /**
15 | * Implementations map a placeholder to the associated value.
16 | *
17 | * This is used in context of string replacement.
18 | */
19 | @FunctionalInterface
20 | public interface VirtualPropertyReplacer extends Serializable {
21 |
22 | /**
23 | * Looks up a placeholders and replaces them
24 | *
25 | * @param input the input string in which virtual properties should be replaced
26 | * @return the result of the replacement
27 | */
28 | String replace(String input);
29 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/tenancy/configuration/validator/TenantConfigurationBooleanValidator.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.tenancy.configuration.validator;
11 |
12 | /**
13 | * specific tenant configuration validator, which validates that the given value is a booleans.
14 | */
15 | public class TenantConfigurationBooleanValidator implements TenantConfigurationValidator {
16 |
17 | @Override
18 | public Class> validateToClass() {
19 | return Boolean.class;
20 | }
21 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/tenancy/configuration/validator/TenantConfigurationIntegerValidator.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018 Siemens AG
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 |
11 | package org.eclipse.hawkbit.tenancy.configuration.validator;
12 |
13 | /**
14 | * Specific tenant configuration validator, which validates that the given value is an Integer.
15 | */
16 | public class TenantConfigurationIntegerValidator implements TenantConfigurationValidator {
17 |
18 | @Override
19 | public Class> validateToClass() {
20 | return Integer.class;
21 | }
22 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/tenancy/configuration/validator/TenantConfigurationLongValidator.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.tenancy.configuration.validator;
11 |
12 | /**
13 | * Specific tenant configuration validator, which validates that the given value is a {@link Long}.
14 | */
15 | public class TenantConfigurationLongValidator implements TenantConfigurationValidator {
16 |
17 | @Override
18 | public Class> validateToClass() {
19 | return Long.class;
20 | }
21 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/tenancy/configuration/validator/TenantConfigurationStringValidator.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 |
11 | package org.eclipse.hawkbit.tenancy.configuration.validator;
12 |
13 | /**
14 | * specific tenant configuration validator, which validates Strings.
15 | */
16 | public class TenantConfigurationStringValidator implements TenantConfigurationValidator {
17 |
18 | @Override
19 | public Class> validateToClass() {
20 | return String.class;
21 | }
22 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/README.md:
--------------------------------------------------------------------------------
1 | # hawkBit common implementation
2 |
3 | Core elements that can be used by implementations.
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractBaseEntityBuilder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | import org.eclipse.hawkbit.repository.Identifiable;
13 |
14 | public abstract class AbstractBaseEntityBuilder implements Identifiable {
15 |
16 | protected Long id;
17 |
18 | @Override
19 | public Long getId() {
20 | return id;
21 | }
22 |
23 | static String strip(final String value) {
24 | return value == null ? null : value.strip();
25 | }
26 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractSoftwareModuleTypeUpdateCreate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Create and update builder DTO.
14 | *
15 | * @param update or create builder interface
16 | */
17 | public abstract class AbstractSoftwareModuleTypeUpdateCreate extends AbstractTypeUpdateCreate {
18 |
19 | protected int maxAssignments = 1;
20 |
21 | public T maxAssignments(final int maxAssignments) {
22 | this.maxAssignments = maxAssignments;
23 | return (T) this;
24 | }
25 |
26 | public int getMaxAssignments() {
27 | return maxAssignments;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/GenericDistributionSetTypeUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Update implementation.
14 | */
15 | public class GenericDistributionSetTypeUpdate extends AbstractDistributionSetTypeUpdateCreate
16 | implements DistributionSetTypeUpdate {
17 |
18 | public GenericDistributionSetTypeUpdate(final Long id) {
19 | super.id = id;
20 | }
21 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/GenericRolloutUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Update implementation.
14 | */
15 | public class GenericRolloutUpdate extends AbstractNamedEntityBuilder implements RolloutUpdate {
16 |
17 | public GenericRolloutUpdate(final Long id) {
18 | super.id = id;
19 | }
20 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/GenericSoftwareModuleMetadataUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Update implementation.
14 | */
15 | public class GenericSoftwareModuleMetadataUpdate
16 | extends AbstractSoftwareModuleMetadataUpdateCreate
17 | implements SoftwareModuleMetadataUpdate {
18 |
19 | public GenericSoftwareModuleMetadataUpdate(final long softwareModuleId, final String key) {
20 | super.softwareModuleId = softwareModuleId;
21 | this.key = key;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/GenericSoftwareModuleTypeUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Update implementation.
14 | */
15 | public class GenericSoftwareModuleTypeUpdate extends AbstractSoftwareModuleTypeUpdateCreate
16 | implements SoftwareModuleTypeUpdate {
17 |
18 | public GenericSoftwareModuleTypeUpdate(final Long id) {
19 | super.id = id;
20 | }
21 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/GenericTagUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Update implementation.
14 | */
15 | public class GenericTagUpdate extends AbstractTagUpdateCreate implements TagUpdate {
16 |
17 | public GenericTagUpdate(final Long id) {
18 | super.id = id;
19 | }
20 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/GenericTargetFilterQueryUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Update implementation.
14 | */
15 | public class GenericTargetFilterQueryUpdate extends AbstractTargetFilterQueryUpdateCreate
16 | implements TargetFilterQueryUpdate {
17 |
18 | public GenericTargetFilterQueryUpdate(final Long id) {
19 | super.id = id;
20 | }
21 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/GenericTargetTypeUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021 Bosch.IO GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.builder;
11 |
12 | /**
13 | * Update implementation.
14 | */
15 | public class GenericTargetTypeUpdate extends AbstractTargetTypeUpdateCreate
16 | implements TargetTypeUpdate {
17 |
18 | /**
19 | * @param id Target type ID
20 | */
21 | public GenericTargetTypeUpdate(final Long id) {
22 | super.id = id;
23 | }
24 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-core/src/main/resources/hawkbit-eventbus-defaults.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | #
4 | # This program and the accompanying materials are made
5 | # available under the terms of the Eclipse Public License 2.0
6 | # which is available at https://www.eclipse.org/legal/epl-2.0/
7 | #
8 | # SPDX-License-Identifier: EPL-2.0
9 | #
10 |
11 | # Spring cloud bus and stream
12 | spring.cloud.bus.enabled=false
13 | # Disable Cloud Bus default events
14 | spring.cloud.bus.env.enabled=false
15 | spring.cloud.bus.ack.enabled=false
16 | spring.cloud.bus.trace.enabled=false
17 | spring.cloud.bus.refresh.enabled=false
18 | # Disable Cloud Bus endpoints
19 | management.endpoint.busrefresh.access=none
20 | management.endpoint.busenv.access=none
21 | # Spring cloud bus and stream END
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-api/README.md:
--------------------------------------------------------------------------------
1 | # hawkBit JPA EclipseLink Vendor integration
2 |
3 | Implementation of [EclipseLink](http://www.eclipse.org/eclipselink/) JPA vendor.
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-api/src/main/java/org/eclipse/hawkbit/repository/jpa/executor/AfterTransactionCommitExecutor.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.executor;
11 |
12 | /**
13 | * A interface to register a runnable, which will be executed after a successful
14 | * spring transaction.
15 | */
16 | @FunctionalInterface
17 | public interface AfterTransactionCommitExecutor {
18 |
19 | /**
20 | * Register a runnable which will be executed after a successful spring
21 | * transaction.
22 | *
23 | * @param runnable the after commit runnable
24 | */
25 | void afterCommit(Runnable runnable);
26 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-api/src/main/java/org/eclipse/hawkbit/repository/jpa/model/EventAwareEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.model;
11 |
12 | /**
13 | * Interfaces which can be implemented by entities to be called when the entity should fire an event because the entity has been created,
14 | * updated or deleted.
15 | */
16 | public interface EventAwareEntity {
17 |
18 | /**
19 | * Fired for the Entity creation.
20 | */
21 | void fireCreateEvent();
22 |
23 | /**
24 | * Fired for the Entity update.
25 | */
26 | void fireUpdateEvent();
27 |
28 | /**
29 | * Fired for the Entity deletion.
30 | */
31 | void fireDeleteEvent();
32 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-eclipselink/README.md:
--------------------------------------------------------------------------------
1 | # hawkBit JPA EclipseLink Vendor integration
2 |
3 | Implementation of [EclipseLink](http://www.eclipse.org/eclipselink/) JPA vendor.
4 |
5 | Since there seem to be bug in eclipselink static weaver or eclipselink-maven-plugin - don't weave properly the abstract classes when no non-abstract entity into the maven module - we use to have fake entity in the module to make it work.
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-eclipselink/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
--------------------------------------------------------------------------------
1 | org.eclipse.hawkbit.repository.jpa.Statistics.StatisticsAutoConfiguration
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/README.md:
--------------------------------------------------------------------------------
1 | # hawkBit JPA Flyway migration
2 |
3 | JPA Flyway migrations scripts
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
--------------------------------------------------------------------------------
1 | org.eclipse.hawkbit.autoconfigure.repository.jpa.flyway.HawkbitFlywayAutoConfiguration
2 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_10_0__advanced_rolloutgroup__H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rolloutgroup
2 | ADD COLUMN target_percentage FLOAT;
3 | ALTER TABLE sp_rolloutgroup
4 | ADD COLUMN target_filter VARCHAR (1024);
5 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_10_1__consolidate_artifact_sha1__H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_artifact DROP COLUMN sha1_hash;
2 | ALTER TABLE sp_artifact ALTER COLUMN gridfs_file_name RENAME TO sha1_hash;
3 | ALTER TABLE sp_artifact ALTER sha1_hash varchar(40) not null;
4 | CREATE INDEX sp_idx_artifact_02 ON sp_artifact (tenant, sha1_hash);
5 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_10_2__rollout_auto_start__H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout
2 | ADD COLUMN start_at BIGINT;
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_11_1__target_filter_query_UQ___H2.sql:
--------------------------------------------------------------------------------
1 | alter table sp_target_filter_query
2 | add constraint uk_tenant_custom_filter_name unique (name, tenant);
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_11_2__remove_unused_idexes___H2.sql:
--------------------------------------------------------------------------------
1 | DROP INDEX sp_idx_action_status_01;
2 | DROP INDEX sp_idx_rollout_01;
3 | DROP INDEX sp_idx_rolloutgroup_01;
4 | DROP INDEX sp_idx_target_02;
5 | DROP INDEX sp_idx_target_filter_query_01;
6 | DROP INDEX sp_idx_distribution_set_01;
7 | DROP INDEX sp_idx_distribution_set_02;
8 | CREATE INDEX sp_idx_distribution_set_01 ON sp_distribution_set (tenant, deleted, complete);
9 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_11_3__add_module_md_targetvis__H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_sw_metadata ADD COLUMN target_visible boolean;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_10__change_length_of_target_attributes_key___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_attributes ALTER COLUMN attribute_key VARCHAR(128);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_11__add_auto_assign_action_type___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_filter_query ADD COLUMN auto_assign_action_type integer;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_12__change_length_of_controller_id_and_name___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_distribution_set ALTER COLUMN name VARCHAR(128);
2 | ALTER TABLE sp_distribution_set_type ALTER COLUMN name VARCHAR(128);
3 | ALTER TABLE sp_distributionset_tag ALTER COLUMN name VARCHAR(128);
4 | ALTER TABLE sp_base_software_module ALTER COLUMN name VARCHAR(128);
5 | ALTER TABLE sp_rollout ALTER COLUMN name VARCHAR(128);
6 | ALTER TABLE sp_rolloutgroup ALTER COLUMN name VARCHAR(128);
7 | ALTER TABLE sp_software_module_type ALTER COLUMN name VARCHAR(128);
8 | ALTER TABLE sp_target ALTER COLUMN name VARCHAR(128);
9 | ALTER TABLE sp_target_filter_query ALTER COLUMN name VARCHAR(128);
10 | ALTER TABLE sp_target_tag ALTER COLUMN name VARCHAR(128);
11 |
12 |
13 | ALTER TABLE sp_target ALTER COLUMN controller_id VARCHAR(256);
14 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_13__add_action_external_id___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD COLUMN external_ref VARCHAR(512);
2 | CREATE INDEX sp_idx_action_external_ref ON sp_action (external_ref);
3 |
4 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_14__add_sha256_hash___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_artifact ADD COLUMN sha256_hash CHAR(64);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_15__add_weight___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD weight INT;
2 | ALTER TABLE sp_rollout ADD weight INT;
3 | ALTER TABLE sp_target_filter_query ADD auto_assign_weight INT;
4 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_16__add_action_initiated_by___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD COLUMN initiated_by VARCHAR(64) NOT NULL;
2 | ALTER TABLE sp_target_filter_query ADD COLUMN auto_assign_initiated_by VARCHAR(64);
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_17__add_index_target_modified___H2.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_target_05 ON sp_target (tenant, last_modified_at);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_19__add_valid_flag_to_ds___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_distribution_set ADD COLUMN valid BOOLEAN;
2 |
3 | UPDATE sp_distribution_set SET valid = 1;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_1__missing_non_null___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action_status_messages ALTER detail_message varchar(512) not null;
2 | ALTER TABLE sp_action ALTER distribution_set bigint not null;
3 | ALTER TABLE sp_action ALTER target bigint not null;
4 | ALTER TABLE sp_action ALTER status integer not null;
5 | ALTER TABLE sp_action_status ALTER target_occurred_at bigint not null;
6 | ALTER TABLE sp_action_status ALTER status integer not null;
7 | ALTER TABLE sp_rollout ALTER distribution_set bigint not null;
8 | ALTER TABLE sp_rollout ALTER status integer not null;
9 | ALTER TABLE sp_rolloutgroup ALTER rollout bigint not null;
10 | ALTER TABLE sp_rolloutgroup ALTER status integer not null;
11 | ALTER TABLE sp_artifact ALTER sha1_hash varchar(40) not null;
12 | ALTER TABLE sp_target ALTER controller_id varchar(64) not null;
13 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_20__add_encryption_flag_to_sm___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_base_software_module ADD COLUMN encrypted BOOLEAN;
2 |
3 | UPDATE sp_base_software_module SET encrypted = 0;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_21__add_rollouts_status_index___H2.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_rollout_status_tenant ON sp_rollout (tenant, status);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_22__change_target_type_name_length___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_type ALTER COLUMN name VARCHAR (128);
2 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_23__add_action_status_code___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action_status ADD column code integer;
2 | CREATE INDEX sp_idx_action_status_03 ON sp_action_status (tenant, code);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_24__add_last_action_status_code___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD column last_action_status_code integer;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_25__add_confirmation_flag___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rolloutgroup ADD column confirmation_required BOOLEAN;
2 | UPDATE sp_rolloutgroup SET confirmation_required = 0;
3 |
4 | ALTER TABLE sp_target_filter_query ADD column confirmation_required BOOLEAN;
5 | UPDATE sp_target_filter_query SET confirmation_required = 0;
6 |
7 | create table sp_target_conf_status
8 | (
9 | id bigint not null auto_increment,
10 | target_id bigint not null,
11 | initiator varchar(64),
12 | remark VARCHAR(512),
13 | created_at bigint,
14 | created_by varchar(64),
15 | last_modified_at bigint,
16 | last_modified_by varchar(64),
17 | optlock_revision bigint,
18 | tenant varchar(40) not null,
19 | primary key (id)
20 | );
21 | ALTER TABLE sp_target_conf_status
22 | ADD CONSTRAINT fk_target_auto_conf FOREIGN KEY (target_id) REFERENCES sp_target (id) ON DELETE CASCADE;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_26__add_access_control_context___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_filter_query ADD COLUMN access_control_context VARCHAR(4096);
2 | ALTER TABLE sp_rollout ADD COLUMN access_control_context VARCHAR(4096);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_27__target_type_inherit_type___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_type ADD COLUMN type_key VARCHAR (64) NOT NULL DEFAULT ('_');
2 | UPDATE sp_target_type SET type_key = name;
3 | ALTER TABLE sp_target_type ADD CONSTRAINT uk_target_type_key UNIQUE (type_key, tenant);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_28__add_dynamic_rollout___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout ADD COLUMN is_dynamic BOOLEAN;
2 | ALTER TABLE sp_rolloutgroup ADD COLUMN is_dynamic BOOLEAN NOT NULL DEFAULT false;
3 |
4 | UPDATE sp_rollout SET weight = 1000 WHERE weight IS NULL;
5 | UPDATE sp_action SET weight = 1000 WHERE weight IS NULL;
6 | UPDATE sp_target_filter_query SET auto_assign_weight = 1000 WHERE auto_assign_weight IS NULL;
7 | ALTER TABLE sp_rollout ALTER COLUMN weight INT NOT NULL;
8 | ALTER TABLE sp_action ALTER COLUMN weight INT NOT NULL;
9 | ALTER TABLE sp_target_filter_query ALTER COLUMN auto_assign_weight INT NOT NULL;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_29__add_ds_sm_locked___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_base_software_module ADD COLUMN locked BOOLEAN NOT NULL DEFAULT true;
2 | ALTER TABLE sp_distribution_set ADD COLUMN locked BOOLEAN NOT NULL DEFAULT true;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_2__missing_non_null_enum___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target ALTER update_status integer not null;
2 | ALTER TABLE sp_rollout ALTER action_type integer not null;
3 | ALTER TABLE sp_action ALTER action_type integer not null;
4 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_30__add_distrubuted_lock___H2.sql:
--------------------------------------------------------------------------------
1 | -- Table and fields in upper case as Spring queries it that way
2 | CREATE TABLE SP_LOCK (
3 | LOCK_KEY CHAR(36) NOT NULL,
4 | REGION VARCHAR(100) NOT NULL,
5 | CLIENT_ID CHAR(36),
6 | CREATED_DATE TIMESTAMP NOT NULL,
7 | constraint SP_LOCK_PK primary key (LOCK_KEY, REGION)
8 | );
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_31__add_type_to_ds_index___H2.sql:
--------------------------------------------------------------------------------
1 | alter table sp_distribution_set drop constraint uk_distrib_set;
2 | alter table sp_distribution_set add constraint uk_distrib_set unique (tenant, name, version, ds_id);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_3__cascade_delete___H2.sql:
--------------------------------------------------------------------------------
1 | alter table sp_rolloutgroup drop constraint fk_rolloutgroup_rolloutgroup;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_4__add_maintenance_window___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD column maintenance_cron_schedule VARCHAR(40);
2 | ALTER TABLE sp_action ADD column maintenance_duration VARCHAR(40);
3 | ALTER TABLE sp_action ADD column maintenance_time_zone VARCHAR(40);
4 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_6__add_index___H2.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_target_tag_01 ON sp_target_tag (tenant, name);
2 | CREATE INDEX sp_idx_distribution_set_tag_01 ON sp_distributionset_tag (tenant, name);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_7__add_rollout_approval_fields___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout ADD column approval_decided_by varchar(40);
2 | ALTER TABLE sp_rollout ADD column approval_remark varchar(255);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_12_9__add_target_metadata___H2.sql:
--------------------------------------------------------------------------------
1 | create table sp_target_metadata (
2 | meta_key varchar(128) not null,
3 | meta_value varchar(4000),
4 | target_id bigint not null,
5 | primary key (target_id, meta_key)
6 | );
7 |
8 | alter table sp_target_metadata
9 | add constraint fk_metadata_target
10 | foreign key (target_id)
11 | references sp_target
12 | on delete cascade;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_2_0__update_target_info_for_message___H2.sql:
--------------------------------------------------------------------------------
1 | DROP INDEX sp_idx_target_info_01;
2 |
3 | ALTER TABLE sp_target_info ALTER COLUMN ip_address RENAME TO address;
4 | ALTER TABLE sp_target_info ALTER COLUMN address VARCHAR(512);
5 |
6 | UPDATE sp_target_info
7 | SET address = CONCAT('http://',(SELECT address
8 | FROM sp_target_info i
9 | WHERE sp_target_info.target_id = i.target_id))
10 | WHERE EXISTS(SELECT target_id
11 | FROM sp_target_info i
12 | WHERE sp_target_info.target_id = i.target_id)
13 | AND address != null;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_4_1__cascade_delete___H2.sql:
--------------------------------------------------------------------------------
1 | alter table sp_target_attributes drop constraint fk_targ_attrib_target;
2 | alter table sp_target_attributes
3 | add constraint fk_targ_attrib_target
4 | foreign key (target_id)
5 | references sp_target_info
6 | on delete cascade;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_5_0__target_filter_query___H2.sql:
--------------------------------------------------------------------------------
1 | create table sp_target_filter_query (
2 | id bigint generated by default as identity,
3 | created_at bigint,
4 | created_by varchar(40),
5 | last_modified_at bigint,
6 | last_modified_by varchar(40),
7 | optlock_revision bigint,
8 | tenant varchar(40) not null,
9 | name varchar(64) not null,
10 | query varchar(1024) not null,
11 | primary key (id)
12 | );
13 |
14 | create index sp_idx_target_filter_query_01 on sp_target_filter_query (tenant, name);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_7_0__swmType_maxAssignment_greater_0__H2.sql:
--------------------------------------------------------------------------------
1 | Update sp_software_module_type set max_ds_assignments = 1 where max_ds_assignments < 1;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_7_1__reduce_length_enums___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_info ALTER update_status VARCHAR(16) not null;
2 | ALTER TABLE sp_action ALTER action_type VARCHAR(16) not null;
3 | ALTER TABLE sp_rollout ALTER action_type VARCHAR(16) not null;
4 | ALTER TABLE sp_tenant_configuration ALTER conf_key VARCHAR(128) not null;
5 | ALTER TABLE sp_tenant_configuration ALTER conf_value VARCHAR(512) not null;
6 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_8_0__auto_assign_ds_filter__H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_filter_query
2 | ADD column auto_assign_distribution_set BIGINT;
3 |
4 | ALTER TABLE sp_target_filter_query
5 | ADD CONSTRAINT fk_filter_auto_assign_ds
6 | FOREIGN KEY (auto_assign_distribution_set)
7 | REFERENCES sp_distribution_set
8 | ON DELETE SET NULL;
9 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_8_2__remove_external_artifact___H2.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE sp_external_artifact;
2 | DROP TABLE sp_external_provider;
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/H2/V1_9_0__add_rollout_groups_created___H2.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout ADD column rollout_groups_created BIGINT;
2 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_10_0__advanced_rolloutgroup__MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rolloutgroup
2 | ADD COLUMN target_percentage FLOAT;
3 | ALTER TABLE sp_rolloutgroup
4 | ADD COLUMN target_filter VARCHAR (1024);
5 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_10_1__consolidate_artifact_sha1__MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_artifact DROP COLUMN sha1_hash;
2 | ALTER TABLE sp_artifact CHANGE gridfs_file_name sha1_hash varchar(40) not null;
3 | CREATE INDEX sp_idx_artifact_02 ON sp_artifact (tenant, sha1_hash);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_10_2__rollout_auto_start__MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout
2 | ADD COLUMN start_at BIGINT;
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_11_1__target_filter_query_UQ___MYSQL.sql:
--------------------------------------------------------------------------------
1 | alter table sp_target_filter_query
2 | add constraint uk_tenant_custom_filter_name unique (name, tenant);
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_11_2__remove_unused_idexes___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action_status DROP INDEX sp_idx_action_status_01;
2 | ALTER TABLE sp_rollout DROP INDEX sp_idx_rollout_01;
3 | ALTER TABLE sp_rolloutgroup DROP INDEX sp_idx_rolloutgroup_01;
4 | ALTER TABLE sp_target DROP INDEX sp_idx_target_02;
5 | ALTER TABLE sp_target_filter_query DROP INDEX sp_idx_target_filter_query_01;
6 | ALTER TABLE sp_distribution_set DROP INDEX sp_idx_distribution_set_01;
7 | ALTER TABLE sp_distribution_set DROP INDEX sp_idx_distribution_set_02;
8 | CREATE INDEX sp_idx_distribution_set_01 ON sp_distribution_set (tenant, deleted, complete);
9 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_11_3__add_module_md_targetvis__MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_sw_metadata ADD COLUMN target_visible bit;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_10__change_length_of_target_attributes_key___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_attributes MODIFY attribute_key VARCHAR(128);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_11__add_auto_assign_action_type___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_filter_query ADD COLUMN auto_assign_action_type integer;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_12__change_length_of_controller_id_and_name___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_distribution_set MODIFY name VARCHAR(128);
2 | ALTER TABLE sp_distribution_set_type MODIFY name VARCHAR(128);
3 | ALTER TABLE sp_distributionset_tag MODIFY name VARCHAR(128);
4 | ALTER TABLE sp_base_software_module MODIFY name VARCHAR(128);
5 | ALTER TABLE sp_rollout MODIFY name VARCHAR(128);
6 | ALTER TABLE sp_rolloutgroup MODIFY name VARCHAR(128);
7 | ALTER TABLE sp_software_module_type MODIFY name VARCHAR(128);
8 | ALTER TABLE sp_target MODIFY name VARCHAR(128);
9 | ALTER TABLE sp_target_filter_query MODIFY name VARCHAR(128);
10 | ALTER TABLE sp_target_tag MODIFY name VARCHAR(128);
11 |
12 |
13 | ALTER TABLE sp_target MODIFY controller_id VARCHAR(256);
14 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_13__add_action_external_id___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD COLUMN external_ref VARCHAR(512);
2 | CREATE INDEX sp_idx_action_external_ref ON sp_action (external_ref);
3 |
4 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_14__add_sha256_hash___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_artifact ADD COLUMN sha256_hash CHAR(64);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_15__add_weight___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD weight INT;
2 | ALTER TABLE sp_rollout ADD weight INT;
3 | ALTER TABLE sp_target_filter_query ADD auto_assign_weight INT;
4 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_16__add_action_initiated_by___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD COLUMN initiated_by VARCHAR(64) NOT NULL;
2 | ALTER TABLE sp_target_filter_query ADD COLUMN auto_assign_initiated_by VARCHAR(64);
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_17__add_index_target_modified___MYSQL.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_target_05 ON sp_target (tenant, last_modified_at);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_19__add_valid_flag_to_ds___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_distribution_set ADD COLUMN valid BOOLEAN;
2 |
3 | UPDATE sp_distribution_set SET valid = 1;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_1__missing_non_null___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action_status_messages CHANGE COLUMN detail_message detail_message varchar(512) not null;
2 | ALTER TABLE sp_action CHANGE COLUMN distribution_set distribution_set bigint not null;
3 | ALTER TABLE sp_action CHANGE COLUMN target target bigint not null;
4 | ALTER TABLE sp_action CHANGE COLUMN status status integer not null;
5 | ALTER TABLE sp_action_status CHANGE COLUMN target_occurred_at target_occurred_at bigint not null;
6 | ALTER TABLE sp_action_status CHANGE COLUMN status status integer not null;
7 | ALTER TABLE sp_rollout CHANGE COLUMN distribution_set distribution_set bigint not null;
8 | ALTER TABLE sp_rollout CHANGE COLUMN status status integer not null;
9 | ALTER TABLE sp_rolloutgroup CHANGE COLUMN rollout rollout bigint not null;
10 | ALTER TABLE sp_rolloutgroup CHANGE COLUMN status status integer not null;
11 | ALTER TABLE sp_artifact CHANGE COLUMN sha1_hash sha1_hash varchar(40) not null;
12 | ALTER TABLE sp_target CHANGE COLUMN controller_id controller_id varchar(64) not null;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_20__add_encryption_flag_to_sm___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_base_software_module ADD COLUMN encrypted BOOLEAN;
2 |
3 | UPDATE sp_base_software_module SET encrypted = 0;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_21__add_rollouts_status_index___MYSQL.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_rollout_status_tenant ON sp_rollout (tenant, status);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_22__change_target_type_name_length___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_type MODIFY name VARCHAR(128);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_23__add_action_status_code___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action_status ADD COLUMN code integer;
2 | CREATE INDEX sp_idx_action_status_03 ON sp_action_status (tenant, code);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_24__add_last_action_status_code___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD COLUMN last_action_status_code integer;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_25__add_confirmation_flag___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rolloutgroup ADD column confirmation_required BOOLEAN;
2 | UPDATE sp_rolloutgroup SET confirmation_required = 0;
3 |
4 | ALTER TABLE sp_target_filter_query ADD column confirmation_required BOOLEAN;
5 | UPDATE sp_target_filter_query SET confirmation_required = 0;
6 |
7 | create table sp_target_conf_status
8 | (
9 | id bigint not null auto_increment,
10 | target_id bigint not null,
11 | initiator varchar(64),
12 | remark varchar(512),
13 | created_at bigint,
14 | created_by varchar(64),
15 | last_modified_at bigint,
16 | last_modified_by varchar(64),
17 | optlock_revision bigint,
18 | tenant varchar(40) not null,
19 | primary key (id)
20 | );
21 | ALTER TABLE sp_target_conf_status
22 | ADD CONSTRAINT fk_target_auto_conf FOREIGN KEY (target_id) REFERENCES sp_target (id) ON DELETE CASCADE;
23 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_26__add_access_control_context___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_filter_query ADD COLUMN access_control_context VARCHAR(4096);
2 | ALTER TABLE sp_rollout ADD COLUMN access_control_context VARCHAR(4096);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_27__target_type_inherit_type___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_type ADD COLUMN type_key VARCHAR (64) NOT NULL DEFAULT ('_');
2 | UPDATE sp_target_type SET type_key = name;
3 | ALTER TABLE sp_target_type ADD CONSTRAINT uk_target_type_key UNIQUE (type_key, tenant);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_28__add_dynamic_rollout___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout ADD COLUMN is_dynamic BOOLEAN;
2 | ALTER TABLE sp_rolloutgroup ADD COLUMN is_dynamic BOOLEAN NOT NULL DEFAULT false;
3 |
4 | UPDATE sp_rollout SET weight = 1000 WHERE weight IS NULL;
5 | UPDATE sp_action SET weight = 1000 WHERE weight IS NULL;
6 | UPDATE sp_target_filter_query SET auto_assign_weight = 1000 WHERE auto_assign_weight IS NULL;
7 | ALTER TABLE sp_rollout MODIFY COLUMN weight INT NOT NULL;
8 | ALTER TABLE sp_action MODIFY COLUMN weight INT NOT NULL;
9 | ALTER TABLE sp_target_filter_query MODIFY COLUMN auto_assign_weight INT NOT NULL;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_29__add_ds_sm_locked___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_base_software_module ADD COLUMN locked BOOLEAN NOT NULL DEFAULT true;
2 | ALTER TABLE sp_distribution_set ADD COLUMN locked BOOLEAN NOT NULL DEFAULT true;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_2__missing_non_null_enum___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target CHANGE COLUMN update_status update_status integer not null;
2 | ALTER TABLE sp_rollout CHANGE COLUMN action_type action_type integer not null;
3 | ALTER TABLE sp_action CHANGE COLUMN action_type action_type integer not null;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_30__add_distrubuted_lock___MYSQL.sql:
--------------------------------------------------------------------------------
1 | -- Table and fields in upper case as Spring queries it that way
2 | CREATE TABLE SP_LOCK (
3 | LOCK_KEY CHAR(36) NOT NULL,
4 | REGION VARCHAR(100) NOT NULL,
5 | CLIENT_ID CHAR(36),
6 | CREATED_DATE DATETIME(6) NOT NULL,
7 | constraint SP_LOCK_PK primary key (LOCK_KEY, REGION)
8 | );
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_31__add_type_to_ds_index___MYSQL.sql:
--------------------------------------------------------------------------------
1 | alter table sp_distribution_set drop constraint uk_distrib_set;
2 | alter table sp_distribution_set add constraint uk_distrib_set unique (tenant, name, version, ds_id);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_3__cascade_delete___MYSQL.sql:
--------------------------------------------------------------------------------
1 | alter table sp_rolloutgroup drop FOREIGN KEY fk_rolloutgroup_rolloutgroup;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_4__add_maintenance_window___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD column maintenance_cron_schedule VARCHAR(40);
2 | ALTER TABLE sp_action ADD column maintenance_duration VARCHAR(40);
3 | ALTER TABLE sp_action ADD column maintenance_time_zone VARCHAR(40);
4 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_6__add_index___MYSQL.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_target_tag_01 ON sp_target_tag (tenant, name);
2 | CREATE INDEX sp_idx_distribution_set_tag_01 ON sp_distributionset_tag (tenant, name);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_7__add_rollout_approval_fields___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout ADD column approval_decided_by varchar(40);
2 | ALTER TABLE sp_rollout ADD column approval_remark varchar(255);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_12_9__add_target_metadata___MYSQL.sql:
--------------------------------------------------------------------------------
1 | create table sp_target_metadata (
2 | meta_key varchar(128) not null,
3 | meta_value varchar(4000),
4 | target_id bigint not null,
5 | primary key (target_id, meta_key)
6 | );
7 |
8 | alter table sp_target_metadata
9 | add constraint fk_metadata_target
10 | foreign key (target_id)
11 | references sp_target (id)
12 | on delete cascade;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_2_0__update_target_info_for_message___MYSQL.sql:
--------------------------------------------------------------------------------
1 | DROP INDEX sp_idx_target_info_01 ON sp_target_info;
2 |
3 | ALTER TABLE sp_target_info
4 | CHANGE ip_address address VARCHAR(512);
5 |
6 | UPDATE sp_target_info t1, sp_target_info t2
7 | SET t1.address = CONCAT('http://',t2.address)
8 | WHERE t1.target_id = t2.target_id AND t2.address is not null
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_4_1__cascade_delete___MYSQL.sql:
--------------------------------------------------------------------------------
1 | alter table sp_target_attributes drop FOREIGN KEY fk_targ_attrib_target;
2 | alter table sp_target_attributes
3 | add constraint fk_targ_attrib_target
4 | foreign key (target_id)
5 | references sp_target_info (target_id)
6 | on delete cascade;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_5_0__target_filter_query___MYSQL.sql:
--------------------------------------------------------------------------------
1 | create table sp_target_filter_query (
2 | id bigint not null auto_increment,
3 | created_at bigint,
4 | created_by varchar(40),
5 | last_modified_at bigint,
6 | last_modified_by varchar(40),
7 | optlock_revision bigint,
8 | tenant varchar(40) not null,
9 | name varchar(64) not null,
10 | query varchar(1024) not null,
11 | primary key (id)
12 | );
13 |
14 |
15 | create index sp_idx_target_filter_query_01 on sp_target_filter_query (tenant, name);
16 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_7_0__swmType_maxAssignment_greater_0__MYSQL.sql:
--------------------------------------------------------------------------------
1 | Update sp_software_module_type set max_ds_assignments = 1 where max_ds_assignments < 1;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_7_1__reduce_length_enums___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_info MODIFY update_status VARCHAR(16) not null;
2 | ALTER TABLE sp_action MODIFY action_type VARCHAR(16) not null;
3 | ALTER TABLE sp_rollout MODIFY action_type VARCHAR(16) not null;
4 | ALTER TABLE sp_tenant_configuration MODIFY conf_key VARCHAR(128) not null;
5 | ALTER TABLE sp_tenant_configuration MODIFY conf_value VARCHAR(512) not null;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_8_0__auto_assign_ds_filter__MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_filter_query
2 | ADD COLUMN auto_assign_distribution_set BIGINT;
3 |
4 | ALTER TABLE sp_target_filter_query
5 | ADD CONSTRAINT fk_filter_auto_assign_ds
6 | FOREIGN KEY (auto_assign_distribution_set)
7 | REFERENCES sp_distribution_set (id)
8 | ON DELETE SET NULL;
9 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_8_2__remove_external_artifact___MYSQL.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE sp_external_artifact;
2 | DROP TABLE sp_external_provider;
3 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/MYSQL/V1_9_0__add_rollout_groups_created___MYSQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout ADD column rollout_groups_created BIGINT;
2 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_16__add_action_initiated_by___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action
2 | ADD COLUMN initiated_by VARCHAR (64) NOT NULL DEFAULT '';
3 | ALTER TABLE sp_action
4 | ALTER COLUMN initiated_by DROP DEFAULT;
5 |
6 | ALTER TABLE sp_target_filter_query
7 | ADD COLUMN auto_assign_initiated_by VARCHAR (64);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_17__add_index_target_modified___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_target_05
2 | ON sp_target
3 | USING BTREE (tenant, last_modified_at);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_19__add_valid_flag_to_ds___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_distribution_set ADD COLUMN valid BOOLEAN;
2 |
3 | UPDATE sp_distribution_set SET valid = TRUE;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_20__add_encryption_flag_to_sm___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_base_software_module ADD COLUMN encrypted BOOLEAN;
2 |
3 | UPDATE sp_base_software_module SET encrypted = FALSE;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_21__add_rollouts_status_index___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_rollout_status_tenant
2 | ON sp_rollout
3 | USING BTREE (tenant, status);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_22__change_target_type_name_length___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_type ALTER COLUMN name TYPE VARCHAR (128);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_23__add_action_status_code___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action_status ADD COLUMN code INTEGER;
2 | CREATE INDEX sp_idx_action_status_03
3 | ON sp_action_status
4 | USING BTREE (tenant, code);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_24__add_last_action_status_code___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_action ADD last_action_status_code INTEGER;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_25__add_confirmation_flag___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rolloutgroup
2 | ADD COLUMN confirmation_required BOOLEAN;
3 | ALTER TABLE sp_target_filter_query
4 | ADD COLUMN confirmation_required BOOLEAN;
5 |
6 | UPDATE sp_rolloutgroup SET confirmation_required = FALSE;
7 | UPDATE sp_target_filter_query SET confirmation_required = FALSE;
8 |
9 | CREATE TABLE sp_target_conf_status
10 | (
11 | id BIGSERIAL,
12 | target_id BIGINT NOT NULL,
13 | initiator VARCHAR(64),
14 | remark VARCHAR(512),
15 | tenant VARCHAR(40) NOT NULL,
16 | created_at BIGINT NOT NULL,
17 | created_by VARCHAR(64) NOT NULL,
18 | last_modified_at BIGINT NOT NULL,
19 | last_modified_by VARCHAR(64) NOT NULL,
20 | optlock_revision BIGINT NULL
21 | );
22 |
23 |
24 | ALTER TABLE sp_target_conf_status
25 | ADD CONSTRAINT pk_sp_target_conf_status PRIMARY KEY (id);
26 |
27 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_26__add_access_control_context___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_filter_query ADD COLUMN access_control_context VARCHAR(4096);
2 | ALTER TABLE sp_rollout ADD COLUMN access_control_context VARCHAR(4096);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_27__target_type_inherit_type___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_target_type ADD COLUMN type_key VARCHAR (64) NOT NULL DEFAULT ('_');
2 | UPDATE sp_target_type SET type_key = name;
3 | ALTER TABLE sp_target_type ADD CONSTRAINT uk_target_type_key UNIQUE (type_key, tenant);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_28__add_dynamic_rollout___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_rollout ADD COLUMN is_dynamic BOOLEAN;
2 | ALTER TABLE sp_rolloutgroup ADD COLUMN is_dynamic BOOLEAN NOT NULL DEFAULT false;
3 |
4 | UPDATE sp_rollout SET weight = 1000 WHERE weight IS NULL;
5 | UPDATE sp_action SET weight = 1000 WHERE weight IS NULL;
6 | UPDATE sp_target_filter_query SET auto_assign_weight = 1000 WHERE auto_assign_weight IS NULL;
7 | ALTER TABLE sp_rollout ALTER COLUMN weight SET NOT NULL;
8 | ALTER TABLE sp_action ALTER COLUMN weight SET NOT NULL;
9 | ALTER TABLE sp_target_filter_query ALTER COLUMN auto_assign_weight SET NOT NULL;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_29__add_ds_sm_locked___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE sp_base_software_module ADD COLUMN locked BOOLEAN NOT NULL DEFAULT true;
2 | ALTER TABLE sp_distribution_set ADD COLUMN locked BOOLEAN NOT NULL DEFAULT true;
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_30__add_indexes___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX sp_idx_rollouttargetgroup_target_id
2 | ON sp_rollouttargetgroup
3 | USING BTREE (target_id);
4 |
5 | CREATE INDEX sp_idx_target_attributes_target_id
6 | ON sp_target_attributes
7 | USING BTREE (target_id);
8 |
9 | CREATE INDEX sp_idx_action_target
10 | ON sp_action
11 | USING BTREE (target);
12 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_31__add_distrubuted_lock___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | -- Table and fields in upper case as Spring queries it that way
2 | CREATE TABLE SP_LOCK (
3 | LOCK_KEY CHAR(36) NOT NULL,
4 | REGION VARCHAR(100) NOT NULL,
5 | CLIENT_ID CHAR(36),
6 | CREATED_DATE TIMESTAMP NOT NULL,
7 | constraint SP_LOCK_PK primary key (LOCK_KEY, REGION)
8 | );
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/db/migration/POSTGRESQL/V1_12_32__add_type_to_ds_index___POSTGRESQL.sql:
--------------------------------------------------------------------------------
1 | alter table sp_distribution_set drop constraint uk_distrib_set_sp_distribution_set;
2 | alter table sp_distribution_set add constraint uk_distrib_set_sp_distribution_set unique (tenant, name, version, ds_id);
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-flyway/src/main/resources/hawkbit-jpa-flyway-defaults.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2024 Contributors to the Eclipse Foundation
3 | #
4 | # This program and the accompanying materials are made
5 | # available under the terms of the Eclipse Public License 2.0
6 | # which is available at https://www.eclipse.org/legal/epl-2.0/
7 | #
8 | # SPDX-License-Identifier: EPL-2.0
9 | #
10 |
11 | # Flyway DDL
12 | spring.flyway.enabled=true
13 | spring.flyway.clean-disabled=true
14 | spring.flyway.sql-migration-suffixes=${spring.jpa.database}.sql
15 | spring.flyway.ignore-migration-patterns=*:missing
16 | spring.flyway.table=schema_version
17 | ### Flyway DDL - END
18 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-hibernate/README.md:
--------------------------------------------------------------------------------
1 | # hawkBit JPA Hibernate Vendor integration
2 |
3 | Implementation of [Hibernate](https://hibernate.org/) JPA vendor.
4 |
5 | To use this vendor you could exclude the org.eclipse.hawkbit:hawkbit.repository-jpa-eclipselink and include this module.
6 | For instance if you use org.eclipse.hawkbit:hawkbit-repository-jpa via org.eclipse.hawkbit:hawkbit-starter you could do it like this:
7 |
8 | ```xml
9 |
10 | org.eclipse.hawkbit
11 | hawkbit-starter
12 | ${project.version}
13 |
14 |
15 | org.eclipse.hawkbit
16 | hawkbit-repository-jpa-eclipselink
17 |
18 |
19 |
20 |
21 | org.eclipse.hawkbit
22 | hawkbit-repository-jpa-hibernate
23 | ${project.version}
24 |
25 | ```
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa-hibernate/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
--------------------------------------------------------------------------------
1 | org.eclipse.hawkbit.repository.jpa.Statistics.StatisticsAutoConfiguration
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/README.md:
--------------------------------------------------------------------------------
1 | # hawkBit JPA implementation
2 |
3 | JPA implementation of the repository. Based on [EclipseLink](http://www.eclipse.org/eclipselink/)
4 | and [Spring Data Jpa](http://projects.spring.io/spring-data-jpa/).
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/autocleanup/CleanupTask.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.autocleanup;
11 |
12 | /**
13 | * Interface modeling a cleanup task.
14 | */
15 | public interface CleanupTask extends Runnable {
16 |
17 | /**
18 | * Executes the cleanup task.
19 | */
20 | @Override
21 | void run();
22 |
23 | /**
24 | * @return The identifier of this cleanup task. Never null.
25 | */
26 | String getId();
27 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/builder/JpaActionStatusBuilder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.builder;
11 |
12 | import org.eclipse.hawkbit.repository.builder.ActionStatusBuilder;
13 | import org.eclipse.hawkbit.repository.builder.ActionStatusCreate;
14 | import org.eclipse.hawkbit.repository.model.ActionStatus;
15 |
16 | /**
17 | * Builder implementation for {@link ActionStatus}.
18 | */
19 | public class JpaActionStatusBuilder implements ActionStatusBuilder {
20 |
21 | @Override
22 | public ActionStatusCreate create(final long actionId) {
23 | return new JpaActionStatusCreate(actionId);
24 | }
25 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/builder/JpaRolloutGroupBuilder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.builder;
11 |
12 | import org.eclipse.hawkbit.repository.builder.RolloutGroupBuilder;
13 | import org.eclipse.hawkbit.repository.builder.RolloutGroupCreate;
14 | import org.eclipse.hawkbit.repository.model.RolloutGroup;
15 |
16 | /**
17 | * Builder implementation for {@link RolloutGroup}.
18 | */
19 | public class JpaRolloutGroupBuilder implements RolloutGroupBuilder {
20 |
21 | @Override
22 | public RolloutGroupCreate create() {
23 | return new JpaRolloutGroupCreate();
24 | }
25 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/builder/JpaTargetUpdate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.builder;
11 |
12 | import org.eclipse.hawkbit.repository.builder.AbstractTargetUpdateCreate;
13 | import org.eclipse.hawkbit.repository.builder.TargetUpdate;
14 |
15 | public class JpaTargetUpdate extends AbstractTargetUpdateCreate implements TargetUpdate {
16 |
17 | JpaTargetUpdate(final String controllerId) {
18 | super(controllerId);
19 | }
20 | }
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaStatistic.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2023 Bosch.IO GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 |
11 | package org.eclipse.hawkbit.repository.jpa.model;
12 |
13 | import org.eclipse.hawkbit.repository.model.Statistic;
14 |
15 | public interface JpaStatistic extends Statistic {}
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/rollout/condition/RolloutGroupActionEvaluator.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.rollout.condition;
11 |
12 | import org.eclipse.hawkbit.repository.model.Rollout;
13 | import org.eclipse.hawkbit.repository.model.RolloutGroup;
14 |
15 | /**
16 | * Interface to define a specific execution for an action
17 | */
18 | public interface RolloutGroupActionEvaluator {
19 |
20 | T getAction();
21 |
22 | void exec(Rollout rollout, RolloutGroup rolloutGroup);
23 | }
24 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/rollout/condition/RolloutGroupConditionEvaluator.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.rollout.condition;
11 |
12 | import org.eclipse.hawkbit.repository.model.Rollout;
13 | import org.eclipse.hawkbit.repository.model.RolloutGroup;
14 |
15 | /**
16 | * Interface for evaluate conditions define for a {@link RolloutGroup} based on a given expression
17 | */
18 | public interface RolloutGroupConditionEvaluator {
19 |
20 | T getCondition();
21 |
22 | boolean eval(Rollout rollout, RolloutGroup rolloutGroup, final String expression);
23 | }
24 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/sa/RootRepository.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2025 Contributors to the Eclipse Foundation
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.rsql.sa;
11 |
12 | import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
13 | import org.springframework.data.repository.CrudRepository;
14 | import org.springframework.stereotype.Repository;
15 |
16 | @Repository
17 | public interface RootRepository
18 | extends CrudRepository, JpaSpecificationExecutor {}
19 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/sa/Sub.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2025 Contributors to the Eclipse Foundation
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.rsql.sa;
11 |
12 | import jakarta.persistence.Entity;
13 | import jakarta.persistence.GeneratedValue;
14 | import jakarta.persistence.GenerationType;
15 | import jakarta.persistence.Id;
16 |
17 | import lombok.Data;
18 | import lombok.experimental.Accessors;
19 |
20 | @Entity
21 | @Data
22 | @Accessors(chain = true)
23 | class Sub {
24 |
25 | @Id
26 | @GeneratedValue(strategy = GenerationType.IDENTITY)
27 | private Long id;
28 |
29 | // singular attributes
30 | // basic
31 | private String strValue;
32 | private int intValue;
33 | }
34 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/rsql/sa/SubRepository.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2025 Contributors to the Eclipse Foundation
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.repository.jpa.rsql.sa;
11 |
12 | import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
13 | import org.springframework.data.repository.CrudRepository;
14 | import org.springframework.stereotype.Repository;
15 |
16 | @Repository
17 | public interface SubRepository
18 | extends CrudRepository, JpaSpecificationExecutor {}
19 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/matcher/Expect.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 |
11 | package org.eclipse.hawkbit.repository.test.matcher;
12 |
13 | import java.lang.annotation.ElementType;
14 | import java.lang.annotation.Retention;
15 | import java.lang.annotation.RetentionPolicy;
16 | import java.lang.annotation.Target;
17 |
18 | /**
19 | * Interface to add annotations for counting events by type and count.
20 | */
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target({ ElementType.METHOD, ElementType.TYPE })
23 | public @interface Expect {
24 |
25 | /**
26 | * @return the type of the event
27 | */
28 | Class> type();
29 |
30 | /**
31 | * @return the expected count of events
32 | */
33 | int count() default 0;
34 | }
35 |
--------------------------------------------------------------------------------
/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/matcher/ExpectEvents.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 |
11 | package org.eclipse.hawkbit.repository.test.matcher;
12 |
13 | import java.lang.annotation.ElementType;
14 | import java.lang.annotation.Retention;
15 | import java.lang.annotation.RetentionPolicy;
16 | import java.lang.annotation.Target;
17 |
18 | /**
19 | * Interface to annotate methods when event count is required.
20 | */
21 | @Retention(RetentionPolicy.RUNTIME)
22 | @Target({ ElementType.METHOD, ElementType.TYPE })
23 | public @interface ExpectEvents {
24 |
25 | /**
26 | * @return a list of {@link Expect}
27 | */
28 | Expect[] value() default {};
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/hawkbit-rest-core/src/main/java/org/eclipse/hawkbit/rest/exception/MultiPartFileUploadException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.rest.exception;
11 |
12 | import java.io.Serial;
13 |
14 | import org.eclipse.hawkbit.exception.AbstractServerRtException;
15 | import org.eclipse.hawkbit.exception.SpServerError;
16 |
17 | /**
18 | * Thrown if a multipart exception occurred.
19 | */
20 | public final class MultiPartFileUploadException extends AbstractServerRtException {
21 |
22 | @Serial
23 | private static final long serialVersionUID = 1L;
24 |
25 | public MultiPartFileUploadException(final Throwable cause) {
26 | super(cause.getMessage(), SpServerError.SP_ARTIFACT_UPLOAD_FAILED, cause);
27 | }
28 | }
--------------------------------------------------------------------------------
/hawkbit-rest-core/src/main/java/org/eclipse/hawkbit/rest/json/model/ExceptionInfo.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.rest.json.model;
11 |
12 | import java.util.Map;
13 |
14 | import com.fasterxml.jackson.annotation.JsonInclude;
15 | import com.fasterxml.jackson.annotation.JsonInclude.Include;
16 | import lombok.Data;
17 |
18 | /**
19 | * An exception model rest representation with JSON annotations for response bodies in case of RESTful exception occurrence.
20 | */
21 | @Data
22 | @JsonInclude(Include.NON_EMPTY)
23 | public class ExceptionInfo {
24 |
25 | private String exceptionClass;
26 | private String errorCode;
27 | private String message;
28 | private Map info;
29 | }
30 |
--------------------------------------------------------------------------------
/hawkbit-rest-core/src/test/java/org/eclipse/hawkbit/rest/util/SuccessCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.rest.util;
11 |
12 | /**
13 | * @param
14 | */
15 | public interface SuccessCondition {
16 |
17 | /**
18 | * @param result
19 | * @return
20 | */
21 | boolean success(final T result);
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-commons/src/main/java/org/eclipse/hawkbit/sdk/Controller.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2023 Bosch.IO GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.sdk;
11 |
12 | import lombok.Builder;
13 | import lombok.Data;
14 | import org.springframework.lang.NonNull;
15 | import org.springframework.lang.Nullable;
16 |
17 | @Data
18 | @Builder
19 | public class Controller {
20 |
21 | // id of the tenant
22 | @NonNull
23 | private String controllerId;
24 | // (target) security token
25 | @Nullable
26 | private String securityToken;
27 | @Nullable
28 | private Certificate certificate;
29 | }
30 |
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-commons/src/main/java/org/eclipse/hawkbit/sdk/HawkbitServer.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2023 Bosch.IO GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.sdk;
11 |
12 | import lombok.Data;
13 | import org.springframework.boot.context.properties.ConfigurationProperties;
14 | import org.springframework.lang.NonNull;
15 |
16 | @ConfigurationProperties(prefix = "hawkbit.server")
17 | @Data
18 | public class HawkbitServer {
19 |
20 | @NonNull
21 | private String mgmtUrl = "http://localhost:8080";
22 | @NonNull
23 | private String ddiUrl = "http://localhost:8081";
24 | }
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-commons/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports:
--------------------------------------------------------------------------------
1 | org.eclipse.hawkbit.sdk.HawkbitSDKConfiguration
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-commons/src/main/resources/hawkbit-sdk-defaults.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2023 Bosch.IO GmbH and others
3 | #
4 | # This program and the accompanying materials are made
5 | # available under the terms of the Eclipse Public License 2.0
6 | # which is available at https://www.eclipse.org/legal/epl-2.0/
7 | #
8 | # SPDX-License-Identifier: EPL-2.0
9 | #
10 |
11 | spring.cloud.openfeign.httpclient.hc5.enabled=true
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-demo/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2023 Bosch.IO GmbH and others
3 | #
4 | # This program and the accompanying materials are made
5 | # available under the terms of the Eclipse Public License 2.0
6 | # which is available at https://www.eclipse.org/legal/epl-2.0/
7 | #
8 | # SPDX-License-Identifier: EPL-2.0
9 | #
10 |
11 | spring.main.web-application-type=none
12 |
13 | logging.level.org.eclipse.hawkbit=DEBUG
14 |
15 |
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-device/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2023 Bosch.IO GmbH and others
3 | #
4 | # This program and the accompanying materials are made
5 | # available under the terms of the Eclipse Public License 2.0
6 | # which is available at https://www.eclipse.org/legal/epl-2.0/
7 | #
8 | # SPDX-License-Identifier: EPL-2.0
9 | #
10 |
11 |
12 |
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-dmf/src/main/java/org/eclipse/hawkbit/sdk/dmf/UpdateStatus.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2024 Contributors to the Eclipse Foundation
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.sdk.dmf;
11 |
12 | import java.util.List;
13 |
14 | import org.eclipse.hawkbit.dmf.json.model.DmfActionStatus;
15 |
16 | public record UpdateStatus(DmfActionStatus status, List messages) {}
--------------------------------------------------------------------------------
/hawkbit-sdk/hawkbit-sdk-dmf/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2023 Bosch.IO GmbH and others
3 | #
4 | # This program and the accompanying materials are made
5 | # available under the terms of the Eclipse Public License 2.0
6 | # which is available at https://www.eclipse.org/legal/epl-2.0/
7 | #
8 | # SPDX-License-Identifier: EPL-2.0
9 | #
10 |
11 | ## Configuration for local RabbitMQ integration
12 | spring.rabbitmq.username=guest
13 | spring.rabbitmq.password=guest
14 | spring.rabbitmq.virtualHost=/
15 | spring.rabbitmq.host=localhost
16 | spring.rabbitmq.port=5672
17 | spring.rabbitmq.dynamic=true
18 |
19 | ## Configuration for sdk dmf
20 | hawkbit.sdk.dmf.enabled=true
21 | hawkbit.sdk.dmf.amqp.receiverConnectorQueueFromSp=sdk_receiver
22 | hawkbit.sdk.dmf.amqp.senderForSpExchange=sdk.replyTo
23 |
24 |
25 |
--------------------------------------------------------------------------------
/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/security/SecurityConstants.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.security;
11 |
12 | import lombok.AccessLevel;
13 | import lombok.NoArgsConstructor;
14 |
15 | /**
16 | * Constants related to security.
17 | */
18 | @NoArgsConstructor(access = AccessLevel.PRIVATE)
19 | public final class SecurityConstants {
20 |
21 | /**
22 | * Logger prefix used for security logging.
23 | */
24 | public static final String SECURITY_LOG_PREFIX = "server-security";
25 | }
--------------------------------------------------------------------------------
/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/util/UrlUtils.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2023 Bosch.IO GmbH and others
3 | *
4 | * This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License 2.0
6 | * which is available at https://www.eclipse.org/legal/epl-2.0/
7 | *
8 | * SPDX-License-Identifier: EPL-2.0
9 | */
10 | package org.eclipse.hawkbit.util;
11 |
12 | import java.nio.charset.StandardCharsets;
13 |
14 | import lombok.AccessLevel;
15 | import lombok.NoArgsConstructor;
16 | import org.springframework.web.util.UriUtils;
17 |
18 | @NoArgsConstructor(access = AccessLevel.PRIVATE)
19 | public class UrlUtils {
20 |
21 | public static String decodeUriValue(String value) {
22 | return UriUtils.decode(value, StandardCharsets.UTF_8);
23 | }
24 | }
--------------------------------------------------------------------------------
/hawkbit-simple-ui/.gitignore:
--------------------------------------------------------------------------------
1 | bundles
2 | src/main/frontend/*
3 | !src/main/frontend/themes/
4 | node_modules
5 | package.json
6 | package-lock.json
7 | tsconfig.json
8 | types.d.ts
9 | vite.config.ts
10 | vite.generated.ts
--------------------------------------------------------------------------------
/hawkbit-simple-ui/src/main/frontend/themes/hawkbit/styles.css:
--------------------------------------------------------------------------------
1 | /* Import your application global css files here or add the styles directly to this file */
--------------------------------------------------------------------------------
/hawkbit-simple-ui/src/main/frontend/themes/hawkbit/theme.json:
--------------------------------------------------------------------------------
1 | {
2 | "lumoImports": ["badge"]
3 | }
--------------------------------------------------------------------------------
/hawkbit-simple-ui/src/main/resources/META-INF/resources/images/about_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/hawkbit-simple-ui/src/main/resources/META-INF/resources/images/about_image.png
--------------------------------------------------------------------------------
/hawkbit-simple-ui/src/main/resources/META-INF/resources/images/header_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/hawkbit-simple-ui/src/main/resources/META-INF/resources/images/header_icon.png
--------------------------------------------------------------------------------
/hawkbit-test-report/placeholder.txt:
--------------------------------------------------------------------------------
1 | ====
2 | Copyright (c) 2015 Bosch Software Innovations GmbH and others
3 |
4 | This program and the accompanying materials are made
5 | available under the terms of the Eclipse Public License 2.0
6 | which is available at https://www.eclipse.org/legal/epl-2.0/
7 |
8 | SPDX-License-Identifier: EPL-2.0
9 | ====
10 |
11 | A zip need 1 file
--------------------------------------------------------------------------------
/hawkbit_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/hawkbit_logo.png
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2025 Contributors to the Eclipse Foundation
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BLUEZONE_25.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2025 blue-zone GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
8 |
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BOSCH_15.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015 Bosch Software Innovations GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BOSCH_18.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 Bosch Software Innovations GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BOSCH_19.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019 Bosch Software Innovations GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BOSCH_20.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2020 Bosch.IO GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BOSCH_21.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2021 Bosch.IO GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BOSCH_22.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2022 Bosch.IO GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_BOSCH_23.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2023 Bosch.IO GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_CONTRIBUTORS_23.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2023 Contributors to the Eclipse Foundation
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_CONTRIBUTORS_24.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2024 Contributors to the Eclipse Foundation
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_DEVOLO_19.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019 devolo AG and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_DEVOLO_20.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2020 devolo AG and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_ENAPTER.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2020 Enapter Co.,Ltd
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_KIWIGRID_19.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019 Kiwigrid GmbH and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_MICROSOFT_18.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 Microsoft and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_MICROSOFT_20.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2020 Microsoft and others
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_SIEMENS.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2017 Siemens AG
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/licenses/LICENSE_HEADER_TEMPLATE_SIEMENS_18.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 Siemens AG
2 |
3 | This program and the accompanying materials are made
4 | available under the terms of the Eclipse Public License 2.0
5 | which is available at https://www.eclipse.org/legal/epl-2.0/
6 |
7 | SPDX-License-Identifier: EPL-2.0
--------------------------------------------------------------------------------
/lombok.config:
--------------------------------------------------------------------------------
1 | lombok.addLombokGeneratedAnnotation=true
--------------------------------------------------------------------------------
/site/.gitignore:
--------------------------------------------------------------------------------
1 | # rest api doc
2 | content/rest-api/*.json
3 | content/rest-api/*.html
4 | content/rest-api/*.yaml
5 | static/rest-api/*.html
6 | # npm leftover
7 | node_modules
8 | package.json
9 | package-lock.json
10 | # themes
11 | themes
12 | themes/hugo-material-docs
13 | # hugo
14 | public
15 | .hugo_build.lock
16 |
--------------------------------------------------------------------------------
/site/cleanup.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | @REM
3 | @REM Copyright (c) 2023 Bosch.IO GmbH and others
4 | @REM
5 | @REM This program and the accompanying materials are made
6 | @REM available under the terms of the Eclipse Public License 2.0
7 | @REM which is available at https://www.eclipse.org/legal/epl-2.0/
8 | @REM
9 | @REM SPDX-License-Identifier: EPL-2.0
10 | @REM
11 |
12 | rem This script is used to clean up the previously generated or downloaded files.
13 |
14 | echo [INFO] Remove Hugo Theme
15 | rmdir /Q /S themes resources public
16 | echo [INFO] ... done
17 |
18 | echo [INFO]
19 |
20 | echo [INFO] Remove generated REST docs
21 | del /Q content\rest-api\*.html
22 | echo [INFO] ... done
23 |
--------------------------------------------------------------------------------
/site/cleanup.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2018 Bosch Software Innovations GmbH and others
3 | #
4 | # This program and the accompanying materials are made
5 | # available under the terms of the Eclipse Public License 2.0
6 | # which is available at https://www.eclipse.org/legal/epl-2.0/
7 | #
8 | # SPDX-License-Identifier: EPL-2.0
9 | #
10 |
11 | # This script is used to clean up the previously generated or downloaded files.
12 |
13 | #!/bin/bash
14 |
15 |
16 | echo "[INFO] Remove Hugo Theme"
17 | rm -rf themes resources public
18 | echo "[INFO] ... done"
19 |
20 | echo "[INFO] "
21 |
22 | echo "[INFO] Remove generated REST docs"
23 | rm -f content/rest-api/*.json
24 | rm -f content/rest-api/*.html
25 | echo "[INFO] ... done"
26 |
27 |
28 |
--------------------------------------------------------------------------------
/site/content/architecture.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Architecture
3 | weight: 60
4 | ---
5 |
6 | Overview of hawkBit modules and used 3rd party technology:
7 | 
--------------------------------------------------------------------------------
/site/content/blog/2023-09-21-epl2.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Eclipse hawkBit upgrade to Eclipse Public License - v 2.0
3 | parent: Blog
4 | weight: 100
5 | ---
6 |
7 | hawkBit is a domain-independent back-end framework for rolling out software updates to constrained edge devices as well
8 | as more powerful controllers and gateways connected to IP based networking infrastructure. It is part of the Eclipse IoT
9 | since 2015.
10 |
11 | In this article, we want to give an overview of the latest highlights of hawkBit license changes.
12 |
13 | ## hawkBit license upgraded to Eclipse Public License - v 2.0
14 |
15 | Based on the issues
16 | [Switch to EPL 2.0 License](https://github.com/eclipse-hawkbit/hawkbit/issues/1393) and
17 | [Update hawkBit's license to EPL 2.0](https://github.com/eclipse-hawkbit/hawkbit/issues/1008)
18 | the hawkBit license is upgraded
19 | from [Eclipse Public License - Version 1.0](http://www.eclipse.org/org/documents/epl-v10.php) to
20 | [Eclipse Public License - v 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt).
21 |
22 |
--------------------------------------------------------------------------------
/site/layouts/partials/nav_link.html:
--------------------------------------------------------------------------------
1 | {{ $currentMenuEntry := .Scratch.Get "currentMenuEntry" }}
2 | {{ $isCurrent := eq .Permalink ($currentMenuEntry.URL | absURL | printf "%s") }}
3 |
4 |
5 |
6 | {{ $currentMenuEntry.Pre }}
7 | {{ $currentMenuEntry.Name }}
8 |
9 |
10 | {{ if $isCurrent }}
11 |
13 | {{ end }}
--------------------------------------------------------------------------------
/site/src/main/resources/banner.txt:
--------------------------------------------------------------------------------
1 | ______ _ _ _ _ ____ _ _
2 | | ____| | (_) | | | | | _ \(_) |
3 | | |__ ___| |_ _ __ ___ ___ | |__ __ ___ _| | _| |_) |_| |_
4 | | __| / __| | | '_ \/ __|/ _ \ | '_ \ / _` \ \ /\ / / |/ / _ <| | __|
5 | | |___| (__| | | |_) \__ \ __/ | | | | (_| |\ V V /| <| |_) | | |_
6 | |______\___|_|_| .__/|___/\___| |_| |_|\__,_| \_/\_/ |_|\_\____/|_|\__|
7 | | |
8 | |_|
9 |
10 | Eclipse hawkBit Update Server ${application.formatted-version}
11 | using Spring Boot ${spring-boot.formatted-version}
12 |
13 | Go to https://www.eclipse.org/hawkbit for more information.
14 |
--------------------------------------------------------------------------------
/site/static/images/architecture/architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/architecture/architecture.png
--------------------------------------------------------------------------------
/site/static/images/architecture/targetStatusStates.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/architecture/targetStatusStates.png
--------------------------------------------------------------------------------
/site/static/images/eclipse_foundation_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/eclipse_foundation_logo.png
--------------------------------------------------------------------------------
/site/static/images/eventing-within-cluster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/eventing-within-cluster.png
--------------------------------------------------------------------------------
/site/static/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/favicon.ico
--------------------------------------------------------------------------------
/site/static/images/hawkBit_overview.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/hawkBit_overview.jpeg
--------------------------------------------------------------------------------
/site/static/images/hawkbit_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/hawkbit_icon.png
--------------------------------------------------------------------------------
/site/static/images/hawkbit_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/hawkbit_logo.png
--------------------------------------------------------------------------------
/site/static/images/hawkbit_transparency.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/hawkbit_transparency.png
--------------------------------------------------------------------------------
/site/static/images/interfaces.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/interfaces.png
--------------------------------------------------------------------------------
/site/static/images/overall_cluster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/overall_cluster.png
--------------------------------------------------------------------------------
/site/static/images/packagemodel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/packagemodel.png
--------------------------------------------------------------------------------
/site/static/images/rollout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/rollout.png
--------------------------------------------------------------------------------
/site/static/images/rolloutgroupstatediagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/rolloutgroupstatediagram.png
--------------------------------------------------------------------------------
/site/static/images/rolloutstatediagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/rolloutstatediagram.png
--------------------------------------------------------------------------------
/site/static/images/security/exampleReverseProxyArchitecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/security/exampleReverseProxyArchitecture.png
--------------------------------------------------------------------------------
/site/static/images/security/exampleReverseProxySettings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/security/exampleReverseProxySettings.png
--------------------------------------------------------------------------------
/site/static/images/security/gatewayToken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/security/gatewayToken.png
--------------------------------------------------------------------------------
/site/static/images/security/targetToken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/images/security/targetToken.png
--------------------------------------------------------------------------------
/site/static/slides/plugin/multiplex/client.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | var multiplex = Reveal.getConfig().multiplex;
3 | var socketId = multiplex.id;
4 | var socket = io.connect(multiplex.url);
5 |
6 | socket.on(multiplex.id, function (data) {
7 | // ignore data from sockets that aren't ours
8 | if (data.socketId !== socketId) {
9 | return;
10 | }
11 | if (window.location.host === 'localhost:1947') return;
12 |
13 | Reveal.setState(data.state);
14 | });
15 | }());
16 |
--------------------------------------------------------------------------------
/site/static/slides/resources/images/hawkBit_overview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/slides/resources/images/hawkBit_overview.jpg
--------------------------------------------------------------------------------
/site/static/slides/resources/images/hawkbit_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-hawkbit/hawkbit/ebdcab2aaa8835fc2a0bcef555b1a7b5bd196a23/site/static/slides/resources/images/hawkbit_logo.png
--------------------------------------------------------------------------------
/site/static/slides/reveal.js.txt:
--------------------------------------------------------------------------------
1 | The files and folders in this folder (folder slides) are based on reveal.js
2 |
3 | MIT licensed
4 | Copyright (C) 2015 Hakim El Hattab, http://hakim.se
5 |
6 | see https://github.com/hakimel/reveal.js/
--------------------------------------------------------------------------------