From fe292311c6c9d6c9f99e1e43c8d3f4ffda0b6d48 Mon Sep 17 00:00:00 2001 From: Philip-21 Date: Sun, 14 Jan 2024 21:21:19 +0100 Subject: [PATCH 1/6] first commit Signed-off-by: Philip-21 --- cmd/init.go | 1 + internal/stacks/stack_manager.go | 17 +++++++++++++++++ pkg/types/options.go | 1 + 3 files changed, 19 insertions(+) diff --git a/cmd/init.go b/cmd/init.go index 6feb3a20..e347aaed 100644 --- a/cmd/init.go +++ b/cmd/init.go @@ -263,5 +263,6 @@ func init() { initCmd.PersistentFlags().StringVar(&initOptions.IPFSMode, "ipfs-mode", "private", fmt.Sprintf("Set the mode in which IFPS operates. Options are: %v", fftypes.FFEnumValues(types.IPFSMode))) initCmd.PersistentFlags().StringArrayVar(&initOptions.OrgNames, "org-name", []string{}, "Organization name") initCmd.PersistentFlags().StringArrayVar(&initOptions.NodeNames, "node-name", []string{}, "Node name") + initCmd.Flags().StringVar(&initOptions.CustomPath, "override", "", "copy data from custom path to docker-compose.override.yml") rootCmd.AddCommand(initCmd) } diff --git a/internal/stacks/stack_manager.go b/internal/stacks/stack_manager.go index 7f9e6fac..4a95abc4 100644 --- a/internal/stacks/stack_manager.go +++ b/internal/stacks/stack_manager.go @@ -187,6 +187,9 @@ func (s *StackManager) InitStack(options *types.InitOptions) (err error) { if err := s.writeDockerComposeOverride(compose); err != nil { return fmt.Errorf("failed to write docker-compose.override.yml: %s", err) } + if err := s.copyToDockerComposeOverride(compose, options.CustomPath); err != nil { + return fmt.Errorf("failed to copy file data to docker-compose.override.yml: %s", err) + } return s.writeConfig(options) } @@ -415,6 +418,20 @@ func (s *StackManager) writeDockerComposeOverride(compose *docker.DockerComposeC return os.WriteFile(filepath.Join(s.Stack.StackDir, "docker-compose.override.yml"), bytes, 0755) } +func (s *StackManager) copyToDockerComposeOverride(compose *docker.DockerComposeConfig, overrideFilePath string) error { + comments := "#Copy custom file to docker-compose.override.yml file" + bytes := []byte(comments) + + overideContent, err := os.ReadFile(overrideFilePath) + if err != nil && !os.IsNotExist(err) { + return err + } + bytes = append(bytes, overideContent...) + + return os.WriteFile(filepath.Join(s.Stack.StackDir, "docker-compose.override.yml"), bytes, 0755) + +} + func (s *StackManager) writeStackConfig() error { stackConfigBytes, err := json.MarshalIndent(s.Stack, "", " ") if err != nil { diff --git a/pkg/types/options.go b/pkg/types/options.go index 38a9f218..03367535 100644 --- a/pkg/types/options.go +++ b/pkg/types/options.go @@ -63,6 +63,7 @@ type InitOptions struct { ChannelName string ChaincodeName string CustomPinSupport bool + CustomPath string } const IPFSMode = "ipfs_mode" From 15aa78193fa82a94f7873c506461c06be2e82ceb Mon Sep 17 00:00:00 2001 From: Philip-21 Date: Thu, 18 Jan 2024 08:57:42 +0100 Subject: [PATCH 2/6] correct implementations Signed-off-by: Philip-21 --- cmd/init.go | 2 +- internal/stacks/stack_manager.go | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/cmd/init.go b/cmd/init.go index e347aaed..7d8db607 100644 --- a/cmd/init.go +++ b/cmd/init.go @@ -263,6 +263,6 @@ func init() { initCmd.PersistentFlags().StringVar(&initOptions.IPFSMode, "ipfs-mode", "private", fmt.Sprintf("Set the mode in which IFPS operates. Options are: %v", fftypes.FFEnumValues(types.IPFSMode))) initCmd.PersistentFlags().StringArrayVar(&initOptions.OrgNames, "org-name", []string{}, "Organization name") initCmd.PersistentFlags().StringArrayVar(&initOptions.NodeNames, "node-name", []string{}, "Node name") - initCmd.Flags().StringVar(&initOptions.CustomPath, "override", "", "copy data from custom path to docker-compose.override.yml") + initCmd.PersistentFlags().StringVarP(&initOptions.CustomPath, "override", "o", "", "copy data from custom path to docker-compose.override.yml") rootCmd.AddCommand(initCmd) } diff --git a/internal/stacks/stack_manager.go b/internal/stacks/stack_manager.go index 4a95abc4..8d1c74b6 100644 --- a/internal/stacks/stack_manager.go +++ b/internal/stacks/stack_manager.go @@ -187,7 +187,7 @@ func (s *StackManager) InitStack(options *types.InitOptions) (err error) { if err := s.writeDockerComposeOverride(compose); err != nil { return fmt.Errorf("failed to write docker-compose.override.yml: %s", err) } - if err := s.copyToDockerComposeOverride(compose, options.CustomPath); err != nil { + if err := s.copyToDockerComposeOverride(options.CustomPath); err != nil { return fmt.Errorf("failed to copy file data to docker-compose.override.yml: %s", err) } return s.writeConfig(options) @@ -418,18 +418,20 @@ func (s *StackManager) writeDockerComposeOverride(compose *docker.DockerComposeC return os.WriteFile(filepath.Join(s.Stack.StackDir, "docker-compose.override.yml"), bytes, 0755) } -func (s *StackManager) copyToDockerComposeOverride(compose *docker.DockerComposeConfig, overrideFilePath string) error { - comments := "#Copy custom file to docker-compose.override.yml file" +func (s *StackManager) copyToDockerComposeOverride(dockerComposePath string) error { + comments := "# Copy custom file to docker-compose.override.yml file\n" bytes := []byte(comments) - overideContent, err := os.ReadFile(overrideFilePath) - if err != nil && !os.IsNotExist(err) { + if dockerComposePath == "docker-compose.yml" { + dockerComposePath = filepath.Join(s.Stack.StackDir, "docker-compose.yml") + } + overrideComposeContent, err := os.ReadFile(dockerComposePath) + if err != nil && os.IsNotExist(err) { return err } - bytes = append(bytes, overideContent...) - - return os.WriteFile(filepath.Join(s.Stack.StackDir, "docker-compose.override.yml"), bytes, 0755) - + bytes = append(bytes, overrideComposeContent...) + override := filepath.Join(s.Stack.StackDir, "docker-compose.override.yml") + return os.WriteFile(override, bytes, 0775) } func (s *StackManager) writeStackConfig() error { From 4f0cc56f6b7a2186ecd78f9a9919ede75c1aeb9b Mon Sep 17 00:00:00 2001 From: Philip-21 Date: Tue, 23 Jan 2024 23:57:38 +0100 Subject: [PATCH 3/6] making changes Signed-off-by: Philip-21 --- internal/stacks/stack_manager.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/stacks/stack_manager.go b/internal/stacks/stack_manager.go index 8d1c74b6..8291d6c6 100644 --- a/internal/stacks/stack_manager.go +++ b/internal/stacks/stack_manager.go @@ -187,6 +187,7 @@ func (s *StackManager) InitStack(options *types.InitOptions) (err error) { if err := s.writeDockerComposeOverride(compose); err != nil { return fmt.Errorf("failed to write docker-compose.override.yml: %s", err) } + options.CustomPath = "docker-compose.yml" if err := s.copyToDockerComposeOverride(options.CustomPath); err != nil { return fmt.Errorf("failed to copy file data to docker-compose.override.yml: %s", err) } @@ -422,10 +423,8 @@ func (s *StackManager) copyToDockerComposeOverride(dockerComposePath string) err comments := "# Copy custom file to docker-compose.override.yml file\n" bytes := []byte(comments) - if dockerComposePath == "docker-compose.yml" { - dockerComposePath = filepath.Join(s.Stack.StackDir, "docker-compose.yml") - } - overrideComposeContent, err := os.ReadFile(dockerComposePath) + dockerPath := filepath.Join(s.Stack.StackDir, dockerComposePath) + overrideComposeContent, err := os.ReadFile(dockerPath) if err != nil && os.IsNotExist(err) { return err } From 7be4ff3768b4797c83274ff78f4105da01cb8627 Mon Sep 17 00:00:00 2001 From: Philip-21 Date: Wed, 24 Jan 2024 00:26:58 +0100 Subject: [PATCH 4/6] making changes Signed-off-by: Philip-21 --- internal/stacks/stack_manager.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/stacks/stack_manager.go b/internal/stacks/stack_manager.go index 8291d6c6..e185ab86 100644 --- a/internal/stacks/stack_manager.go +++ b/internal/stacks/stack_manager.go @@ -187,9 +187,10 @@ func (s *StackManager) InitStack(options *types.InitOptions) (err error) { if err := s.writeDockerComposeOverride(compose); err != nil { return fmt.Errorf("failed to write docker-compose.override.yml: %s", err) } - options.CustomPath = "docker-compose.yml" - if err := s.copyToDockerComposeOverride(options.CustomPath); err != nil { - return fmt.Errorf("failed to copy file data to docker-compose.override.yml: %s", err) + if options.CustomPath == "docker-compose.yml" { + if err := s.copyToDockerComposeOverride(options.CustomPath); err != nil { + return fmt.Errorf("failed to copy file data to docker-compose.override.yml: %s", err) + } } return s.writeConfig(options) } From 587258edc305e0a812c64441f74b452756ba30d4 Mon Sep 17 00:00:00 2001 From: Philip-21 Date: Wed, 24 Jan 2024 22:56:21 +0100 Subject: [PATCH 5/6] reslove conflicts Signed-off-by: Philip-21 --- cmd/init.go | 2 +- pkg/types/options.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/init.go b/cmd/init.go index d3b9e436..e03bbe28 100644 --- a/cmd/init.go +++ b/cmd/init.go @@ -264,6 +264,6 @@ func init() { initCmd.PersistentFlags().StringArrayVar(&initOptions.OrgNames, "org-name", []string{}, "Organization name") initCmd.PersistentFlags().StringArrayVar(&initOptions.NodeNames, "node-name", []string{}, "Node name") initCmd.PersistentFlags().BoolVar(&initOptions.RemoteNodeDeploy, "remote-node-deploy", false, "Enable or disable deployment of FireFly contracts on remote nodes") - initCmd.PersistentFlags().StringVarP(&initOptions.CustomPath, "override", "o", "", "copy data from custom path to docker-compose.override.yml") + initCmd.PersistentFlags().StringVarP(&initOptions.CustomPath, "override", "o", "", "copy data from custom path to docker-compose.override.yml") rootCmd.AddCommand(initCmd) } diff --git a/pkg/types/options.go b/pkg/types/options.go index 8c8e52ee..95e1ffb7 100644 --- a/pkg/types/options.go +++ b/pkg/types/options.go @@ -64,7 +64,7 @@ type InitOptions struct { ChaincodeName string CustomPinSupport bool RemoteNodeDeploy bool - CustomPath string + CustomPath string } const IPFSMode = "ipfs_mode" From 36259c30188509d2f2998ac85fb28d1171084af3 Mon Sep 17 00:00:00 2001 From: Philip-21 Date: Mon, 12 Feb 2024 22:22:45 +0100 Subject: [PATCH 6/6] adjustments Signed-off-by: Philip-21 --- internal/stacks/stack_manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/stacks/stack_manager.go b/internal/stacks/stack_manager.go index a9577c7d..aa53c449 100644 --- a/internal/stacks/stack_manager.go +++ b/internal/stacks/stack_manager.go @@ -188,7 +188,7 @@ func (s *StackManager) InitStack(options *types.InitOptions) (err error) { if err := s.writeDockerComposeOverride(compose); err != nil { return fmt.Errorf("failed to write docker-compose.override.yml: %s", err) } - if options.CustomPath == "docker-compose.yml" { + if options.CustomPath != "" { if err := s.copyToDockerComposeOverride(options.CustomPath); err != nil { return fmt.Errorf("failed to copy file data to docker-compose.override.yml: %s", err) }