[ 
https://issues.apache.org/jira/browse/MINIFI-12?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244005#comment-15244005
 ] 

ASF GitHub Bot commented on MINIFI-12:
--------------------------------------

Github user apiri commented on a diff in the pull request:

    https://github.com/apache/nifi-minifi/pull/9#discussion_r59962066
  
    --- Diff: 
minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/configuration/RestChangeNotifier.java
 ---
    @@ -0,0 +1,181 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.nifi.minifi.configuration;
    +
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +import ro.pippo.core.Pippo;
    +import ro.pippo.core.Request;
    +import ro.pippo.core.Response;
    +import ro.pippo.core.WebServerSettings;
    +import ro.pippo.core.route.RouteContext;
    +import ro.pippo.core.route.RouteHandler;
    +import ro.pippo.core.route.RoutePreDispatchListener;
    +import ro.pippo.tomcat.TomcatSettings;
    +
    +import java.io.ByteArrayInputStream;
    +import java.io.IOException;
    +import java.util.HashSet;
    +import java.util.Properties;
    +import java.util.Set;
    +
    +public class RestChangeNotifier implements ConfigurationChangeNotifier {
    +
    +    private final Set<ConfigurationChangeListener> 
configurationChangeListeners = new HashSet<>();
    +    private final static Logger log = 
LoggerFactory.getLogger(RestChangeNotifier.class);
    +    private final Pippo pippo;
    +    private final Thread serverThread;
    +    public static final String GET_TEXT = "This is a config change 
listener for an Apache NiFi - MiNiFi instance.\n" +
    +            "Use this rest server to upload a conf.yml to configure the 
MiNiFi instance.\n" +
    +            "Send a POST http request to '/upload' to upload the file.";
    +    private static String configFile = null;
    +
    +
    +    public static final String PORT_KEY = "nifi.minifi.notifier.http.port";
    +    public static final String HOST_KEY = "nifi.minifi.notifier.http.host";
    +    public static final String TRUSTSTORE_LOCATION_KEY = 
"nifi.minifi.notifier.http.truststore.location";
    +    public static final String TRUSTSTORE_PASSWORD_KEY = 
"nifi.minifi.notifier.http.truststore.password";
    +    public static final String KEYSTORE_LOCATION_KEY = 
"nifi.minifi.notifier.http.keystore.location";
    +    public static final String KEYSTORE_PASSWORD_KEY = 
"nifi.minifi.notifier.http.keystore.password";
    +    public static final String KEY_ALIAS_KEY = 
"nifi.minifi.notifier.http.keystore.alias";
    +    public static final String TOMCAT_HOME_KEY = 
"nifi.minifi.notifier.http.tomcat.home";
    +
    +    public RestChangeNotifier(Properties properties){
    +        pippo = new Pippo();
    +        this.initialize(properties);
    +        serverThread = new Thread(new RunServer());
    +    }
    +
    +    @Override
    +    public void initialize(Properties properties) {
    +        WebServerSettings webServerSettings = 
pippo.getServer().getSettings();
    +
    +        String host = properties.getProperty(HOST_KEY);
    +        webServerSettings.host(host != null ? host : "localhost");
    +
    +        String portRaw = properties.getProperty(PORT_KEY);
    +        webServerSettings.port(Integer.parseInt(portRaw != null ? portRaw 
: "8338"));
    +
    +        
webServerSettings.truststoreFile(properties.getProperty(TRUSTSTORE_LOCATION_KEY));
    +        
webServerSettings.truststorePassword(properties.getProperty(TRUSTSTORE_PASSWORD_KEY));
    +        
webServerSettings.keystoreFile(properties.getProperty(KEYSTORE_LOCATION_KEY));
    +        
webServerSettings.keystorePassword(properties.getProperty(KEYSTORE_PASSWORD_KEY));
    +        ((TomcatSettings) 
webServerSettings).keyAlias(properties.getProperty(KEY_ALIAS_KEY));
    +
    +        String tomcatHome = properties.getProperty(TOMCAT_HOME_KEY);
    +        if(tomcatHome != null) {
    +            ((TomcatSettings) webServerSettings).baseFolder(tomcatHome);
    +        }
    +
    +        
pippo.getApplication().getPippoSettings().overrideSetting("tomcat.baseFolder","./target/tomcat_home/");
    --- End diff --
    
    base folder needs some default.  seems this was remnant of development


> Network based implementation
> ----------------------------
>
>                 Key: MINIFI-12
>                 URL: https://issues.apache.org/jira/browse/MINIFI-12
>             Project: Apache NiFi MiNiFi
>          Issue Type: Sub-task
>          Components: Data Format, Management, Processing Configuration
>            Reporter: Aldrin Piri
>            Assignee: Joseph Percivall
>             Fix For: 0.0.1
>
>
> As an initial proof of concept for providing centralized management it would 
> be advantageous to have configuration move beyond the file descriptor and 
> start happening from "remote" locations.  One way of doing this would be via 
> simple  web service from some control manager to the individual agents.  A 
> preliminary implementation could make use of a REST service to transmit 
> information and harness the work done in MINIFI-2 as the data format to 
> transfer the updates to processing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to