-
Notifications
You must be signed in to change notification settings - Fork 15
feat(remote-config): make sure relay, mirror node, explorers and block nodes can be deployed multiple times #2009
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Zhan Milenkov <[email protected]>
…-config-logic-so-the-components-names-are-always-unique-change-logic-from-hard-delete-to-soft-delete-for-components # Conflicts: # src/core/config/remote/components/consensus-node-component.ts # src/core/config/remote/components/relay-component.ts # src/core/config/remote/remote-config-manager.ts
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
…-config-logic-so-the-components-names-are-always-unique-change-logic-from-hard-delete-to-soft-delete-for-components
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
…ross commands' Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
… on RelayComponent to consensusNodeIds, removed nodeStates on ConsensusNodeComponent Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
…equivalents Signed-off-by: Zhan Milenkov <[email protected]>
…-config-logic-so-the-components-names-are-always-unique-change-logic-from-hard-delete-to-soft-delete-for-components
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
…-config-logic-so-the-components-names-are-always-unique-change-logic-from-hard-delete-to-soft-delete-for-components # Conflicts: # src/commands/explorer.ts # src/commands/mirror-node.ts # src/commands/network.ts # src/commands/relay.ts # src/core/config/remote/types.ts # test/unit/commands/network.test.ts
Signed-off-by: Zhan Milenkov <[email protected]>
…e models Signed-off-by: Zhan Milenkov <[email protected]>
…ion layer related to the remote config Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
…-mirror-node-explorer-and-block-nodes-can-be-deployed-multiple-times
Signed-off-by: Zhan Milenkov <[email protected]>
… logic for chart manager's isChartInstalled method Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
…-mirror-node-explorer-and-block-nodes-can-be-deployed-multiple-times
Signed-off-by: Zhan Milenkov <[email protected]>
Signed-off-by: Zhan Milenkov <[email protected]>
npm run solo-test -- explorer destroy --deployment "${SOLO_DEPLOYMENT}" --force | ||
npm run solo-test -- relay destroy -i node1,node2 --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} | ||
npm run solo-test -- mirror-node destroy --deployment "${SOLO_DEPLOYMENT}" --force | ||
npm run solo-test -- explorer destroy --id 1 --deployment "${SOLO_DEPLOYMENT}" --force |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for adding these IDs, I think if there is only one of them, they shouldn't have to specify which one to delete. This way it will be backwards compatible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
src/data/schema/model/remote/state/component-ids-shema.ts
misspelled schema
import {Exclude, Expose} from 'class-transformer'; | ||
|
||
@Exclude() | ||
export class ComponentIdsShema { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
export class ComponentIdsShema { | |
export class ComponentIdsSchema { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this class is needed. I see that we already have a id inside of ComponentStateMetadataSchema. I think we talked about when deleting components to leave the component within the remote config (or did we get rid of that idea to not keep unused objects around? I don't see a deleted or similar in the DeploymentPhase...).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we got rid of soft delete
); | ||
|
||
return new HAProxyStateSchema(metadata); | ||
return new HAProxyStateSchema(this.getMetadata(ComponentTypes.HaProxy, clusterReference, namespace)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return new HAProxyStateSchema(this.getMetadata(ComponentTypes.HaProxy, clusterReference, namespace)); | |
return new HaProxyStateSchema(this.getMetadata(ComponentTypes.HaProxy, clusterReference, namespace)); |
@@ -5,6 +5,7 @@ import {type ComponentTypes} from '../enumerations/component-types.js'; | |||
import {type DeploymentPhase} from '../../../../data/schema/model/remote/deployment-phase.js'; | |||
import {type ClusterReference, type ComponentId} from '../../../../types/index.js'; | |||
import {type DeploymentStateSchema} from '../../../../data/schema/model/remote/deployment-state-schema.js'; | |||
import {type ComponentIdsShema} from '../../../../data/schema/model/remote/state/component-ids-shema.js'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the only place in the business layer that should reference or have access to the data layer schemas is the runtime state. the runtime state should transfer the schema contents into a business layer object and also handle converting the business layer object into a schema object. the schema objects are really only for reading and writing (and migrating)
const secrets: { | ||
data: Record<string, string>; | ||
name: string; | ||
namespace: string; | ||
type: string; | ||
labels: Record<string, string>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should create a src/integration/kube/resources/secret/secret.ts
, it was missed during our creation of the kube rewrite.
constName: 'id', | ||
name: 'id', | ||
definition: { | ||
describe: 'ID', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
describe: 'ID', | |
describe: 'The numeric identifier for the component', |
Description
Related Issues
Pull request (PR) checklist
package.json
changes have been explained to and approved by a repository managerTesting
The following manual testing was done:
The following was not tested:
Commit message guidelines
We use 'Conventional Commits' to ensure that our commit messages are easy to read, follow a consistent format, and for automated release note generation. Please follow the guidelines below when writing your commit messages: