diff --git a/copper-server/kubernetes/README.md b/copper-server/kubernetes/README.md index 4b29b927..e4ddc269 100644 --- a/copper-server/kubernetes/README.md +++ b/copper-server/kubernetes/README.md @@ -185,11 +185,19 @@ In copper Email solution we are using rainloop web client.So we have to implemen cd copperclient // Build the docker image docker build -t webmail . + // use bellow command to run it using docker (Testing perposes only). + docker run --name webmail -d webmail + // Buld the kubernetes pod Kubectl create -f copperclient/webmail.yaml - // + // Deleting the service + kubectl delete service webmail --namespace=monitoring + kubectl delete deployment webmail --namespace=monitoring + + // login in to webmail client + kubectl exec webmail-6f46b7cfbb-l9d8w --namespace=monitoring --stdin --tty -c webmail /bin/sh ``` Once you deploy the webmail client then you have to configure it for accessing the emailserver. diff --git a/copper-server/kubernetes/copperclient/Dockerfile b/copper-server/kubernetes/copperclient/Dockerfile index e0b3873a..fd4809b4 100755 --- a/copper-server/kubernetes/copperclient/Dockerfile +++ b/copper-server/kubernetes/copperclient/Dockerfile @@ -1,48 +1,189 @@ -FROM ubuntu:14.04 -MAINTAINER LSF +#https://medium.com/@meeramarygeorge/create-php-mysql-apache-development-environment-using-docker-in-windows-9beeba6985 +#https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04 +#https://loige.co/using-lets-encrypt-and-certbot-to-automate-the-creation-of-certificates-for-openvpn/ +#FROM ubuntu:latest +FROM ubuntu:18.04 -RUN apt-get update +MAINTAINER Name + +ENV DEBIAN_FRONTEND noninteractive +ENV DOMAIN=${DOMAIN} + +# Install basics + +#RUN apt-get update +RUN apt-get update --fix-missing && apt-get -y purge exim4* RUN apt-get -y upgrade +RUN apt-get -y install apt-utils +# installing netstat command +RUN apt-get -y install net-tools +# installing ping command +RUN apt-get install -y iputils-ping +# install mail until for testing functions +RUN apt-get -y install mailutils +# installing lsof command RUN apt-get -y install lsof RUN apt-get -y install telnet RUN apt-get -y install nano -# Install apache, PHP, and supplimentary programs. curl and lynx-cur are for debugging the container. -RUN DEBIAN_FRONTEND=noninteractive apt-get -y install apache2 libapache2-mod-php5 php5-mysql php5-gd php-pear php-apc php5-curl php5-ldap curl lynx-cur +RUN apt-get -y install letsencrypt openssl + +RUN apt-get install -y software-properties-common && \ + +add-apt-repository ppa:ondrej/php && apt-get update + +#RUN apt-get install -y — force-yes curl +RUN apt-get install -y curl + +# installing ping command +RUN apt-get install -y iputils-ping + +RUN apt-get update + +# Install PHP 5.6 + +#RUN apt-get install -y — allow-unauthenticated php5.6 php5.6-mysql php5.6-mcrypt php5.6-cli php5.6-gd php5.6-curl +RUN apt-get install -y php5.6 php5.6-mysql php5.6-mcrypt php5.6-cli php5.6-gd php5.6-curl # Enable apache mods. -RUN php5enmod openssl -RUN a2enmod php5 + +RUN a2enmod php5.6 + RUN a2enmod rewrite # Update the PHP.ini file, enable tags and quieten logging. -RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini -RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini + +RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/5.6/apache2/php.ini + +RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php/5.6/apache2/php.ini + + # Manually set up the apache environment variables -ENV APACHE_RUN_USER www-data -ENV APACHE_RUN_GROUP www-data + ENV APACHE_LOG_DIR /var/log/apache2 + ENV APACHE_LOCK_DIR /var/lock/apache2 + ENV APACHE_PID_FILE /var/run/apache2.pid -#EXPOSE 443 -EXPOSE 80 -#EXPOSE 8080 +# Manually set up the apache environment variables +ENV APACHE_RUN_USER www-data + +ENV APACHE_RUN_GROUP www-data + + + +# Expose to letsencript key generation ACME test +#EXPOSE 80 +# Expose for non secured access (without https) for testing perposes +EXPOSE 89 +# primary https port +EXPOSE 443 +# secondary https port +EXPOSE 433 + -# Copy site into place. -ADD ./app/ /var/www/site/app -#RUN chown -R www-data:www-data /var/www/site/app . + + +#EXPOSE 3306 # Update the default apache site with the config we created. -ADD ./apache-config.conf /etc/apache2/sites-enabled/000-default.conf -ADD ./fqdn /etc/apache2/conf.d/fqdn -ADD ./hosts /etc/hosts -ADD ./apache2.conf /etc/apache2/apache2.conf -ADD ./servername.conf /etc/apache2/conf-available/servername.conf -ADD ./servername.conf /etc/apache2/sites-enabled/servername.conf - -# By default, simply start apache. -RUN chmod -R 777 /var/www/site/app/data/ + +#ADD ./config/apache-config.conf /etc/apache2/sites-enabled/000-default.conf +ADD ./config/hosts /etc/hosts + +# Copy site into place. + +ADD ./app/ /var/www/html/site/ +#RUN copy cert files +#ADD ./tls/cert.pem /etc/ssl/certs/copper.opensource.lk.cert.pem +ADD ./tls/cert.pem /etc/ssl/certs/cert.pem +#ADD ./tls/privkey.pem /etc/ssl/private/copper.opensource.lk.privkey.pem +ADD ./tls/privkey.pem /etc/ssl/private/privkey.pem + +#ADD ssl certificate list als +ADD ./tls/copper.opensource.lk.crt /etc/ssl/certs/copper.opensource.lk.crt +ADD ./tls/copper.opensource.lk.key /etc/ssl/private/copper.opensource.lk.key + +#RUN chmod -R 777 /var/www/html/site/app + + RUN chown -R www-data:www-data /var/www/html/site/ + + # Update the default apache site with the config we created. +#ADD ./config/apache-config.conf /etc/apache2/sites-enabled/example.com.conf + +RUN apt-get -y install nano + +# Lets encript + +# First, add the repository: +RUN add-apt-repository -y ppa:certbot/certbot 2> /dev/null || true + +#Install Certbot's Apache package with apt: +RUN apt install -y python-certbot-apache + +# reload the configuration +#RUN systemctl reload apache2 + +# manual lets encript key generation tool +#certbot --apache -d example.com -d www.example.com +#CMD certbot --apache -d copper.opensource.lk -d copper.opensource.lk + + +# with certbot-auto +#https://www.exratione.com/2016/06/a-simple-setup-and-installation-script-for-lets-encrypt-ssl-certificates/ +RUN apt-get install -y wget +RUN wget https://dl.eff.org/certbot-auto +RUN chmod a+x certbot-auto +RUN mv certbot-auto /usr/local/bin +RUN certbot-auto --noninteractive --os-packages-only 2> /dev/null || true +# Use this command if a webserver is already running with the webroot +# at /var/www/html. +#RUN certbot-auto certonly \ +RUN certbot-auto \ + --non-interactive \ + --agree-tos \ + --text \ + --rsa-key-size 4096 \ + --email admin@copper.opensource.lk \ + --domains copper.opensource.lk \ + --webroot-path /var/www/html/site/ \ + #--apache \ + --apache 2> /dev/null || true + #--help plugins \ + + + + + +#RUN cp /etc/letsencrypt/live/copper.opensource.lk/fullchain.pem /etc/ssl/certs/copper.opensource.lk.fullchain.pem +#RUN cp /etc/letsencrypt/live/copper.opensource.lk/privkey.pem /etc/ssl/private/copper.opensource.lk.privkey.pem +#RUN cp ./tls/cert.pem /etc/ssl/certs/copper.opensource.lk.cert.pem +#RUN cp ./tls/privkey.pem /etc/ssl/private/copper.opensource.lk.privkey.pem + +# this for copper live server +ADD ./config/copper.http.conf /etc/apache2/sites-enabled/copper.http.conf +ADD ./config/copper.https.conf /etc/apache2/sites-enabled/copper.https.conf +# coppies port configuration +ADD ./config/ports.conf /etc/apache2/ports.conf + +# adding ports.conf file to the image +ADD ./config/ports.conf /etc/apache2/ + +RUN certbot renew --dry-run +# By default start up apache in the foreground, override with /bin/bash for interative. +#CMD chmod -R 777 /var/www/html/data/ + +# Attempting to copy to host file to container or change the content +# adding host file +ADD ./config/hosts /etc/hosts +# put new entry to the host file +RUN echo "127.0.0.1 copper.opensource.lk copper" >> /etc/hosts +#RUN sed -i "s/127.0.0.1 = .*$/127.0.0.1 = copper.opensource.lk/" /etc/hosts + +# enable https in apache +RUN a2enmod ssl + CMD /usr/sbin/apache2ctl -D FOREGROUND -# RUN service apache2 restart + diff --git a/copper-server/kubernetes/copperclient/INFORMATION.md b/copper-server/kubernetes/copperclient/INFORMATION.md new file mode 100644 index 00000000..c501bae0 --- /dev/null +++ b/copper-server/kubernetes/copperclient/INFORMATION.md @@ -0,0 +1,141 @@ + +## Creating frontend https server with ingress + + '''kubectl create -f frontend.yaml''' + +### TLS secreet creation ###### +'''kubectl create secret generic tls-certs --from-file=tls/'''' + + +// kubernetes with postfix +https://www.tauceti.blog/post/run-postfix-in-kubernetes/ + +# Apache web server with https with docker and kubernetes +https://manual.seafile.com/deploy/https_with_apache.html +https://www.digicert.com/csr-ssl-installation/apache-openssl.htm +https://www.tecmint.com/install-rainloop-webmail-in-arch-linux/ + +// building new docker for +docker build -t homail . +docker build -t webmail . + +// run the homail image as homail container +docker run --name homail -d homail + +//login to server for further modifications. +docker exec -it homail /bin/bash + +## Port congiguration +// if you want to change to port use +nano /etc/apache2/ports.conf +By default, Apache web server is instructed to listen for incoming connection and bind on port 80. If you opt for the TLS configuration, the server will listen for secure connections on port 443. + +In order to instruct Apache web server to bind and listen for web traffic on other ports than the standard web ports, you need to add a new statement containing the newly port for future bindings. + +''' + nano /etc/apache2/ports.conf [On Debian/Ubuntu] + nano /etc/httpd/conf/httpd.conf [On RHEL/CentOS] +''' + + add 89 for listning port + + After you’ve added the above line, you need to create or alter an Apache virtual host in Debian/Ubuntu based distribution in order to start the binding process, specific to your own vhost requirements. + +In CentOS/RHEL distributions, the change is applied directly into default virtual host. In the below sample, we’ll modify the default virtual host of the web server and instruct Apache to listen for web traffic from 80 port to 8081 port. + +'''nano /etc/apache2/sites-enabled/000-default.conf ''' + +*** After correct configuration in ports.conf and vertual hosts you may access these sites from curl command + +// get ports.conf +docker cp homail:/etc/apache2/ports.conf ~/Documents/copper/copper/copper-server/core/rainloop/config + + + +// coppy files from docer container to machine. (like host file) +docker cp homail:/etc/hosts ~/Documents/copper/copper/copper-server/core/rainloop + + + +// docker file you should have expose the port + + +// And when you run the container use bellow command you have to bind docker EXPOSED port to host port ( EXPOSE 89). + +Ex : + +'''docker run -p 89:89 --name homail -d homail''' + + +## Now converting the site to https + + +// open the 443 port in docker file +'''EXPOSE 443''' + +// Create the vertual host file + + +// run the docker image opening the https port 443 +'''docker run -p 80:80 -p 89:89 -p 443:443 -p 433:433 --name homail -d homail''' + +// then login to the homail container and test the apache congiguration +'''apachectl configtest +AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message +Syntax OK +''' + +This is a warning message to remove this warning following line added. + +/etc/apache2# nano apache2.conf + +''' ServerName copper.opensource.lk ''' + +Then the error was removed. +'''# apachectl configtest +Syntax OK +''' + + +On many systems (Ubuntu, Suse, Debian, ...) run the following command to enable Apache's SSL mod: + +'''sudo a2enmod ssl +// but in docker container + a2enmod ssl ''' + + + +On CentOS 7 installing the package "mod_ssl" and restarting the apache server worked for me: + +'''yum install mod_ssl +systemctl restart httpd''' + +// command to add entry to the host file in ubunut +'''echo "127.0.0.1 copper.opensource.lk copper" >> /etc/hosts''' + + +# ERRORS + +1. An error occurred during a connection to localhost. SSL received a record that exceeded the maximum permissible length. Error code: SSL_ERROR_RX_RECORD_TOO_LONG + +** if browser gives above error it means browser is expecting https encrypted data but web server send unencripted data. you may check it by typing the url without https. + +Ex : http://localhost:443 + +The web server is sending non-secure (HTTP) data where secure (HTTPS) data is expected by Firefox. This can be confirmed by going to http://server-name:443 instead of https://server-name. +Solution + +Check the configuration of the server to ensure that SSL has been configured correctly. This most commonly occurs when using Apache or Tomcat as the web server, though it can certainly occur in other server types. Points to consider when troubleshooting this error in either Apache or Tomcat: + +In Apache, check that the Listen directive matches the port number in the VirtualHost directive for the website being secured, and that the SSL configuration statements (SSLEngine On, SSLCertificateFile and so on) appear in the VirtualHost directive for the website or in the SSL configuration file for the server. + +'''SSLEngine on + SSLCertificateFile /etc/ssl/certs/cert.pem + SSLCertificateKeyFile /etc/ssl/private/privkey.pem''' + +In Tomcat, check that the connector in server.xml is configured to use SSL (there should be scheme="https" secure="true", as well as keystoreFile and keystorePass statements) and that the port number listed in the connector is what is expected -- if using the default port (8443), it needs to be specified as part of the URL or be appropriately redirected on the server. Tomcat may also be switching to non-secure mode for a connector where the keystore is corrupt; try creating a new keystore and replacing the SSL certificate. + + + + + \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/LICENSE b/copper-server/kubernetes/copperclient/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/copper-server/kubernetes/copperclient/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/copper-server/kubernetes/copperclient/README.md b/copper-server/kubernetes/copperclient/README.md new file mode 100644 index 00000000..cd484d85 --- /dev/null +++ b/copper-server/kubernetes/copperclient/README.md @@ -0,0 +1,54 @@ +# Docker - Apache with Let's Encrypt + +This is a debian-based image which runs an apache and get's it SSL-certificates automatically from Let's Encrypt. +Further you can use already created key files by coppying them to tls folder. +Even though automatic key configuration failed it will be up with this coppied key files. + +## Instructions + +### Prepare your apache-config + +There are some things you have to care about in your apache-config if you want to use it with certbot: + +- for every domain given in `DOMAINS` there must be a apache-vhost which uses this domain as `ServerName` or `ServerAlias`. Else certbot won't get a certificate for this domain. +- this image contains a simple apache webserver. Therefore you can configure your vhosts like you ever did. + +### Run it + +For an easy test-startup you just have to clone and build following project. + +``` +// Download the repository +$ git clone https://github.com/tharangar/apache-docker.git +cd apache-docker +// Build the homail docker image +$ docker build -t homail . +// run the docker image +$ docker run -p 80:80 -p 89:89 -p 443:443 -p 433:433 --name homail -d homail + +``` + +Now you have locally an apache running, which gets it SSL-certificates from Let's Encrypt. + +The image will get letsencrypt-certificates on first boot. A cron-job renews the existing certificates automatically, so you don't have to care about it. + +If you want to expand your certificate and you can remove the existing docker-container and start new one with the updated `DOMAINS`-list. If you don't want to recreate the container you can execute the following commands: + +``` +$ UPDATED_DOMAINS="example.org,more.example.org" +$ docker exec -it apache-ssl /run_letsencrypt.sh --domains $UPDATED_DOMAINS +``` + +### Test the result + +You can test following urls whether they are working properly + +''' +// test the apache main page +http://localhost +// rainloop with https +https://localhost +// rainloop with https and optiional port +https://localhost:433/ +''' + diff --git a/copper-server/kubernetes/copperclient/apache-config.conf b/copper-server/kubernetes/copperclient/apache-config.conf deleted file mode 100755 index df8a8e82..00000000 --- a/copper-server/kubernetes/copperclient/apache-config.conf +++ /dev/null @@ -1,16 +0,0 @@ - - ServerAdmin app - ServerName localhost - DocumentRoot /var/www/site/app - - - Options Indexes FollowSymLinks MultiViews - AllowOverride All - Order deny,allow - Allow from all - - - ErrorLog ${APACHE_LOG_DIR}/error.log - CustomLog ${APACHE_LOG_DIR}/access.log combined - - diff --git a/copper-server/kubernetes/copperclient/apache2.conf b/copper-server/kubernetes/copperclient/apache2.conf deleted file mode 100644 index c360d01e..00000000 --- a/copper-server/kubernetes/copperclient/apache2.conf +++ /dev/null @@ -1,223 +0,0 @@ -# This is the main Apache server configuration file. It contains the -# configuration directives that give the server its instructions. -# See http://httpd.apache.org/docs/2.4/ for detailed information about -# the directives and /usr/share/doc/apache2/README.Debian about Debian specific -# hints. -# -# -# Summary of how the Apache 2 configuration works in Debian: -# The Apache 2 web server configuration in Debian is quite different to -# upstream's suggested way to configure the web server. This is because Debian's -# default Apache2 installation attempts to make adding and removing modules, -# virtual hosts, and extra configuration directives as flexible as possible, in -# order to make automating the changes and administering the server as easy as -# possible. - -# It is split into several files forming the configuration hierarchy outlined -# below, all located in the /etc/apache2/ directory: -# -# /etc/apache2/ -# |-- apache2.conf -# | `-- ports.conf -# |-- mods-enabled -# | |-- *.load -# | `-- *.conf -# |-- conf-enabled -# | `-- *.conf -# `-- sites-enabled -# `-- *.conf -# -# -# * apache2.conf is the main configuration file (this file). It puts the pieces -# together by including all remaining configuration files when starting up the -# web server. -# -# * ports.conf is always included from the main configuration file. It is -# supposed to determine listening ports for incoming connections which can be -# customized anytime. -# -# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ -# directories contain particular configuration snippets which manage modules, -# global configuration fragments, or virtual host configurations, -# respectively. -# -# They are activated by symlinking available configuration files from their -# respective *-available/ counterparts. These should be managed by using our -# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See -# their respective man pages for detailed information. -# -# * The binary is called apache2. Due to the use of environment variables, in -# the default configuration, apache2 needs to be started/stopped with -# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not -# work with the default configuration. - - -# Global configuration -# - -ServerName localhost - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# NOTE! If you intend to place this on an NFS (or otherwise network) -# mounted filesystem then please read the Mutex documentation (available -# at ); -# you will save yourself a lot of trouble. -# -# Do NOT add a slash at the end of the directory path. -# -#ServerRoot "/etc/apache2" - -# -# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. -# -Mutex file:${APACHE_LOCK_DIR} default - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. -# This needs to be set in /etc/apache2/envvars -# -PidFile ${APACHE_PID_FILE} - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive On - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 100 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 5 - - -# These need to be set in /etc/apache2/envvars -User ${APACHE_RUN_USER} -Group ${APACHE_RUN_GROUP} - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a -# container, that host's errors will be logged there and not here. -# -ErrorLog ${APACHE_LOG_DIR}/error.log - -# -# LogLevel: Control the severity of messages logged to the error_log. -# Available values: trace8, ..., trace1, debug, info, notice, warn, -# error, crit, alert, emerg. -# It is also possible to configure the log level for particular modules, e.g. -# "LogLevel info ssl:warn" -# -LogLevel warn - -# Include module configuration: -IncludeOptional mods-enabled/*.load -IncludeOptional mods-enabled/*.conf - -# Include list of ports to listen on -Include ports.conf - - -# Sets the default security model of the Apache2 HTTPD server. It does -# not allow access to the root filesystem outside of /usr/share and /var/www. -# The former is used by web applications packaged in Debian, -# the latter may be used for local directories served by the web server. If -# your system is serving content from a sub-directory in /srv you must allow -# access here, or in any related virtual host. - - Options FollowSymLinks - AllowOverride None - Require all denied - - - - AllowOverride None - Require all granted - - - - Options Indexes FollowSymLinks - AllowOverride None - Require all granted - - -# -# Options Indexes FollowSymLinks -# AllowOverride None -# Require all granted -# - - - - -# AccessFileName: The name of the file to look for in each directory -# for additional configuration directives. See also the AllowOverride -# directive. -# -AccessFileName .htaccess - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# - - Require all denied - - - -# -# The following directives define some format nicknames for use with -# a CustomLog directive. -# -# These deviate from the Common Log Format definitions in that they use %O -# (the actual bytes sent including headers) instead of %b (the size of the -# requested file), because the latter makes it impossible to detect partial -# requests. -# -# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. -# Use mod_remoteip instead. -# -LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined -LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined -LogFormat "%h %l %u %t \"%r\" %>s %O" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -# Include of directories ignores editors' and dpkg's backup files, -# see README.Debian for details. - -# Include generic snippets of statements -IncludeOptional conf-enabled/*.conf - -# Include the virtual host configurations: -IncludeOptional sites-enabled/*.conf - -# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/5f/26/5f2674bb150fb78914507337015f9200efb9b841 b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/23/e3/23e3d58cd184245411d2a84bf33e57162799021f similarity index 100% rename from copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/5f/26/5f2674bb150fb78914507337015f9200efb9b841 rename to copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/23/e3/23e3d58cd184245411d2a84bf33e57162799021f diff --git a/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/3e/18/3e18609e097b6278b6c17fa9dd6de9db3a729b67 b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/3e/18/3e18609e097b6278b6c17fa9dd6de9db3a729b67 new file mode 100644 index 00000000..f9a90256 --- /dev/null +++ b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/3e/18/3e18609e097b6278b6c17fa9dd6de9db3a729b67 @@ -0,0 +1 @@ +window.rainloopI18N={"LANGS_NAMES/LANG_EN":"English","LANGS_NAMES/LANG_EN_US":"English","LANGS_NAMES/LANG_EN_GB":"English (UK)","LANGS_NAMES/LANG_EN_UK":"English (UK)","LANGS_NAMES/LANG_EN_CA":"English (Canadian)","LANGS_NAMES/LANG_TH_TH":"ภาษาไทย","LANGS_NAMES/LANG_EL_GR":"Ελληνικά","LANGS_NAMES/LANG_NL_NL":"Nederlands","LANGS_NAMES/LANG_NB_NO":"Norsk (bokmål)","LANGS_NAMES/LANG_PL_PL":"Polski","LANGS_NAMES/LANG_RU_RU":"Русский","LANGS_NAMES/LANG_RO_RO":"Română","LANGS_NAMES/LANG_UK_UA":"Українська","LANGS_NAMES/LANG_DE_DE":"Deutsch","LANGS_NAMES/LANG_FI_FI":"Suomi","LANGS_NAMES/LANG_FR_FR":"Français (France)","LANGS_NAMES/LANG_FR_CA":"Français (Canada)","LANGS_NAMES/LANG_PT_PT":"Português (Portugal)","LANGS_NAMES/LANG_PT_BR":"Português (Brasil)","LANGS_NAMES/LANG_ES_ES":"Español (España)","LANGS_NAMES/LANG_ES_LA":"Español","LANGS_NAMES/LANG_ET_EE":"Eesti","LANGS_NAMES/LANG_FA_IR":"‏فارسی‏","LANGS_NAMES/LANG_IT_IT":"Italiano","LANGS_NAMES/LANG_LT_LT":"Lietuvių","LANGS_NAMES/LANG_LV_LV":"Latviešu","LANGS_NAMES/LANG_IS_IS":"Íslenska","LANGS_NAMES/LANG_HU_HU":"Magyar","LANGS_NAMES/LANG_TR_TR":"Türkçe","LANGS_NAMES/LANG_SK_SK":"Slovenčina","LANGS_NAMES/LANG_SV_SE":"Svenska","LANGS_NAMES/LANG_SL_SI":"Slovenščina","LANGS_NAMES/LANG_JA_JP":"日本語","LANGS_NAMES/LANG_ZH_TW":"中文(台灣)","LANGS_NAMES/LANG_ZH_CN":"中文(简体)","LANGS_NAMES/LANG_ZH_HK":"中文(香港)","LANGS_NAMES/LANG_KO_KR":"한국어","LANGS_NAMES/LANG_BG_BG":"Български","LANGS_NAMES/LANG_CS_CZ":"Čeština","LANGS_NAMES/LANG_AR_SA":"‏العربية‏","LANGS_NAMES/LANG_DA_DK":"Dansk","LANGS_NAMES/LANG_ID_ID":"Bahasa Indonesia","LANGS_NAMES_EN/LANG_EN":"English","LANGS_NAMES_EN/LANG_EN_US":"English (US)","LANGS_NAMES_EN/LANG_EN_GB":"English (UK)","LANGS_NAMES_EN/LANG_EN_UK":"English (UK)","LANGS_NAMES_EN/LANG_EN_CA":"English (Canadian)","LANGS_NAMES_EN/LANG_TH_TH":"Thai","LANGS_NAMES_EN/LANG_EL_GR":"Greek","LANGS_NAMES_EN/LANG_NL_NL":"Dutch","LANGS_NAMES_EN/LANG_NB_NO":"Norwegian (bokmal)","LANGS_NAMES_EN/LANG_PL_PL":"Polish","LANGS_NAMES_EN/LANG_RU_RU":"Russian","LANGS_NAMES_EN/LANG_RO_RO":"Romanian","LANGS_NAMES_EN/LANG_UK_UA":"Ukrainian","LANGS_NAMES_EN/LANG_DE_DE":"German","LANGS_NAMES_EN/LANG_FI_FI":"Finnish","LANGS_NAMES_EN/LANG_FR_FR":"French (France)","LANGS_NAMES_EN/LANG_FR_CA":"France (Canada)","LANGS_NAMES_EN/LANG_PT_PT":"Portuguese (Portugal)","LANGS_NAMES_EN/LANG_PT_BR":"Portuguese (Brazil)","LANGS_NAMES_EN/LANG_ES_ES":"Spanish","LANGS_NAMES_EN/LANG_ES_LA":"Spanish","LANGS_NAMES_EN/LANG_ET_EE":"Estonian","LANGS_NAMES_EN/LANG_FA_IR":"Persian","LANGS_NAMES_EN/LANG_IT_IT":"Italian","LANGS_NAMES_EN/LANG_LT_LT":"Lithuanian","LANGS_NAMES_EN/LANG_LV_LV":"Latvian","LANGS_NAMES_EN/LANG_IS_IS":"Icelandic","LANGS_NAMES_EN/LANG_HU_HU":"Hungarian","LANGS_NAMES_EN/LANG_TR_TR":"Turkish","LANGS_NAMES_EN/LANG_SK_SK":"Slovak","LANGS_NAMES_EN/LANG_SL_SI":"Slovenian","LANGS_NAMES_EN/LANG_SV_SE":"Swedish","LANGS_NAMES_EN/LANG_JA_JP":"Japanese","LANGS_NAMES_EN/LANG_ZH_TW":"Traditional Chinese (Taiwan)","LANGS_NAMES_EN/LANG_ZH_CN":"Simplified Chinese (China)","LANGS_NAMES_EN/LANG_ZH_HK":"Traditional Chinese (Hong Kong)","LANGS_NAMES_EN/LANG_KO_KR":"Korean","LANGS_NAMES_EN/LANG_BG_BG":"Bulgarian","LANGS_NAMES_EN/LANG_CS_CZ":"Czech","LANGS_NAMES_EN/LANG_AR_SA":"Arabic","LANGS_NAMES_EN/LANG_DA_DK":"Danish","LANGS_NAMES_EN/LANG_ID_ID":"Indonesian","LOGIN/LABEL_EMAIL":"Email","LOGIN/LABEL_LOGIN":"Login","LOGIN/LABEL_PASSWORD":"Password","LOGIN/LABEL_SIGN_ME":"Remember Me","LOGIN/LABEL_VERIFICATION_CODE":"Verification Code","LOGIN/LABEL_DONT_ASK_VERIFICATION_CODE":"Don't ask for the code for 2 weeks","LOGIN/BUTTON_SIGN_IN":"Sign In","LOGIN/TITLE_SIGN_IN_GOOGLE":"Sign In using Google","LOGIN/TITLE_SIGN_IN_FACEBOOK":"Sign In using Facebook","LOGIN/TITLE_SIGN_IN_TWITTER":"Sign In using Twitter","LOGIN/LABEL_FORGOT_PASSWORD":"Forgot password","LOGIN/LABEL_REGISTRATION":"Registration","TOP_TOOLBAR/BUTTON_ADD_ACCOUNT":"Add Account","TOP_TOOLBAR/BUTTON_SETTINGS":"Settings","TOP_TOOLBAR/BUTTON_HELP":"Help","TOP_TOOLBAR/BUTTON_LOGOUT":"Logout","MOBILE/BUTTON_MOBILE_VERSION":"Mobile version","MOBILE/BUTTON_DESKTOP_VERSION":"Desktop version","SEARCH/MAIN_INPUT_PLACEHOLDER":"Search","SEARCH/TITLE_ADV":"Advanced Search","SEARCH/LABEL_ADV_FROM":"From","SEARCH/LABEL_ADV_TO":"To","SEARCH/LABEL_ADV_SUBJECT":"Subject","SEARCH/LABEL_ADV_TEXT":"Text","SEARCH/LABEL_ADV_HAS_ATTACHMENT":"Has attachment","SEARCH/LABEL_ADV_HAS_ATTACHMENTS":"Has attachments","SEARCH/LABEL_ADV_FLAGGED":"Flagged","SEARCH/LABEL_ADV_UNSEEN":"Unseen","SEARCH/LABEL_ADV_DATE":"Date","SEARCH/LABEL_ADV_DATE_ALL":"All","SEARCH/LABEL_ADV_DATE_3_DAYS":"Up to 3 days old","SEARCH/LABEL_ADV_DATE_7_DAYS":"Up to 1 week old","SEARCH/LABEL_ADV_DATE_MONTH":"Up to 1 month old","SEARCH/LABEL_ADV_DATE_3_MONTHS":"Up to 3 months old","SEARCH/LABEL_ADV_DATE_6_MONTHS":"Up to 6 months old","SEARCH/LABEL_ADV_DATE_YEAR":"Up to 1 year old","SEARCH/BUTTON_ADV_SEARCH":"Search","PREVIEW_POPUP/FULLSCREEN":"Toggle fullscreen","PREVIEW_POPUP/ZOOM":"Zoom in/out","PREVIEW_POPUP/CLOSE":"Close (Esc)","PREVIEW_POPUP/LOADING":"Loading...","PREVIEW_POPUP/GALLERY_PREV":"Previous (arrow left)","PREVIEW_POPUP/GALLERY_NEXT":"Next (arrow right)","PREVIEW_POPUP/GALLERY_COUNTER":"%curr% of %total%","PREVIEW_POPUP/IMAGE_ERROR":"The image could not be loaded.","PREVIEW_POPUP/AJAX_ERROR":"The content could not be loaded.","FOLDER_LIST/BUTTON_COMPOSE":"Compose","FOLDER_LIST/BUTTON_CONTACTS":"Contacts","FOLDER_LIST/BUTTON_NEW_MESSAGE":"New message","FOLDER_LIST/INBOX_NAME":"Inbox","FOLDER_LIST/SENT_NAME":"Sent","FOLDER_LIST/DRAFTS_NAME":"Drafts","FOLDER_LIST/SPAM_NAME":"Spam","FOLDER_LIST/TRASH_NAME":"Trash","FOLDER_LIST/ARCHIVE_NAME":"Archive","QUOTA/TITLE":"Quota usage","MESSAGE_LIST/BUTTON_RELOAD":"Reload Message List","MESSAGE_LIST/BUTTON_MOVE_TO":"Move To","MESSAGE_LIST/BUTTON_DELETE":"Delete","MESSAGE_LIST/BUTTON_ARCHIVE":"Archive","MESSAGE_LIST/BUTTON_SPAM":"Spam","MESSAGE_LIST/BUTTON_NOT_SPAM":"Not Spam","MESSAGE_LIST/BUTTON_EMPTY_FOLDER":"Clear Folder","MESSAGE_LIST/BUTTON_MULTY_FORWARD":"Forward as attachment(s)","MESSAGE_LIST/BUTTON_DELETE_WITHOUT_MOVE":"Delete permanently","MESSAGE_LIST/BUTTON_MORE":"More","MESSAGE_LIST/MENU_SET_SEEN":"Mark as read","MESSAGE_LIST/MENU_SET_ALL_SEEN":"Mark all as read","MESSAGE_LIST/MENU_UNSET_SEEN":"Mark as unread","MESSAGE_LIST/MENU_SET_FLAG":"Flag","MESSAGE_LIST/MENU_UNSET_FLAG":"Unflag","MESSAGE_LIST/MENU_SELECT_ALL":"All","MESSAGE_LIST/MENU_SELECT_NONE":"None","MESSAGE_LIST/MENU_SELECT_INVERT":"Invert","MESSAGE_LIST/MENU_SELECT_UNSEEN":"Unread","MESSAGE_LIST/MENU_SELECT_SEEN":"Read","MESSAGE_LIST/MENU_SELECT_FLAGGED":"Flagged","MESSAGE_LIST/MENU_SELECT_UNFLAGGED":"Unflagged","MESSAGE_LIST/EMPTY_LIST":"Empty list.","MESSAGE_LIST/EMPTY_SEARCH_LIST":"No messages matched your search.","MESSAGE_LIST/SEARCH_RESULT_FOR":"Search results for \"%SEARCH%\"","MESSAGE_LIST/BACK_TO_MESSAGE_LIST":"back to message list","MESSAGE_LIST/LIST_LOADING":"Loading","MESSAGE_LIST/EMPTY_SUBJECT_TEXT":"(No subject)","MESSAGE_LIST/PUT_MESSAGE_HERE":"Drop message here to view it in the list","MESSAGE_LIST/TODAY_AT":"today at %TIME%","MESSAGE_LIST/YESTERDAY_AT":"yesterday at %TIME%","MESSAGE_LIST/SEARCH_PLACEHOLDER":"Search","MESSAGE_LIST/NEW_MESSAGE_NOTIFICATION":"You have %COUNT% new messages!","MESSAGE_LIST/QUOTA_SIZE":"Using %SIZE% (%PROC%%) of your %LIMIT%","MESSAGE/BUTTON_EDIT":"Edit","MESSAGE/BUTTON_BACK":"Back","MESSAGE/BUTTON_CLOSE":"Close","MESSAGE/BUTTON_DELETE":"Delete","MESSAGE/BUTTON_UNSUBSCRIBE":"Unsubscribe from this list","MESSAGE/BUTTON_ARCHIVE":"Archive","MESSAGE/BUTTON_SPAM":"Spam","MESSAGE/BUTTON_NOT_SPAM":"Not Spam","MESSAGE/BUTTON_MOVE_TO":"Move To","MESSAGE/BUTTON_MORE":"More","MESSAGE/BUTTON_REPLY":"Reply","MESSAGE/BUTTON_REPLY_ALL":"Reply All","MESSAGE/BUTTON_FORWARD":"Forward","MESSAGE/BUTTON_FORWARD_AS_ATTACHMENT":"Forward as attachment","MESSAGE/BUTTON_EDIT_AS_NEW":"Edit as New","MESSAGE/BUTTON_SHOW_IMAGES":"Display external images","MESSAGE/BUTTON_NOTIFY_READ_RECEIPT":"The sender has asked to be notified when you read this message.","MESSAGE/BUTTON_IN_NEW_WINDOW":"View in separate window","MESSAGE/BUTTON_THREAD_LIST":"Thread list","MESSAGE/BUTTON_THREAD_PREV":"Previous","MESSAGE/BUTTON_THREAD_NEXT":"Next","MESSAGE/BUTTON_THREAD_MORE":"More messages","MESSAGE/MENU_HEADERS":"Show message headers","MESSAGE/MENU_VIEW_ORIGINAL":"Show Source","MESSAGE/MENU_DOWNLOAD_ORIGINAL":"Download as .eml file","MESSAGE/MENU_FILTER_SIMILAR":"Filter messages like this","MESSAGE/MENU_PRINT":"Print","MESSAGE/EMPTY_SUBJECT_TEXT":"(No subject)","MESSAGE/LABEL_SUBJECT":"Subject","MESSAGE/LABEL_DATE":"Date","MESSAGE/LABEL_FROM":"From","MESSAGE/LABEL_FROM_SHORT":"from","MESSAGE/LABEL_TO":"To","MESSAGE/LABEL_TO_SHORT":"to","MESSAGE/LABEL_CC":"CC","MESSAGE/LABEL_BCC":"BCC","MESSAGE/LABEL_REPLY_TO":"Reply-To","MESSAGE/PRINT_LABEL_FROM":"From","MESSAGE/PRINT_LABEL_TO":"To","MESSAGE/PRINT_LABEL_CC":"CC","MESSAGE/PRINT_LABEL_BCC":"BCC","MESSAGE/PRINT_LABEL_REPLY_TO":"Reply-To","MESSAGE/PRINT_LABEL_DATE":"Date","MESSAGE/PRINT_LABEL_SUBJECT":"Subject","MESSAGE/PRINT_LABEL_ATTACHMENTS":"Attachments","MESSAGE/MESSAGE_LOADING":"Loading","MESSAGE/MESSAGE_VIEW_DESC":"Select any message in the list to view it here.","MESSAGE/MESSAGE_VIEW_MOVE_DESC":"Click folder name in the left panel to select the destination.","MESSAGE/PGP_PASSWORD_INPUT_PLACEHOLDER":"Password","MESSAGE/PGP_SIGNED_MESSAGE_DESC":"OpenPGP signed message (click to verify)","MESSAGE/PGP_ENCRYPTED_MESSAGE_DESC":"OpenPGP encrypted message (click to decrypt)","MESSAGE/LINK_DOWNLOAD_AS_ZIP":"Download as zip","MESSAGE/LINK_SAVE_TO_OWNCLOUD":"Save to ownCloud","MESSAGE/LINK_SAVE_TO_CLOUD":"Save to Cloud","MESSAGE/LINK_SAVE_TO_DROPBOX":"Save to Dropbox","READ_RECEIPT/SUBJECT":"Return Receipt (displayed) - %SUBJECT%","READ_RECEIPT/BODY":"This is a Return Receipt for the mail that you sent to %READ-RECEIPT%.\n\nNote: \"This Return Receipt only acknowledges that the message was displayed on the recipient's computer.\"\nThere is no guarantee that the recipient has read or understood the message contents.","SUGGESTIONS/SEARCHING_DESC":"Searching...","CONTACTS/LEGEND_CONTACTS":"Contacts","CONTACTS/SEARCH_INPUT_PLACEHOLDER":"Search","CONTACTS/BUTTON_ADD_CONTACT":"Add Contact","CONTACTS/BUTTON_CREATE_CONTACT":"Create","CONTACTS/BUTTON_UPDATE_CONTACT":"Update","CONTACTS/BUTTON_IMPORT":"Import (csv, vcf, vCard)","CONTACTS/BUTTON_EXPORT_VCARD":"Export (vcf, vCard)","CONTACTS/BUTTON_EXPORT_CSV":"Export (csv)","CONTACTS/ERROR_IMPORT_FILE":"Import error (invalid file format)","CONTACTS/LIST_LOADING":"Loading","CONTACTS/EMPTY_LIST":"No contacts here","CONTACTS/EMPTY_SEARCH":"No contacts found","CONTACTS/CLEAR_SEARCH":"Clear search","CONTACTS/CONTACT_VIEW_DESC":"Select contact in the list to view it here.","CONTACTS/LABEL_DISPLAY_NAME":"Display name","CONTACTS/LABEL_EMAIL":"Email","CONTACTS/LABEL_PHONE":"Phone","CONTACTS/LABEL_WEB":"Web","CONTACTS/LABEL_BIRTHDAY":"Birthday","CONTACTS/LINK_ADD_EMAIL":"Add an email address","CONTACTS/LINK_ADD_PHONE":"Add a phone","CONTACTS/LINK_BIRTHDAY":"Birthday","CONTACTS/PLACEHOLDER_ENTER_DISPLAY_NAME":"Enter display name","CONTACTS/PLACEHOLDER_ENTER_LAST_NAME":"Enter last name","CONTACTS/PLACEHOLDER_ENTER_FIRST_NAME":"Enter first name","CONTACTS/PLACEHOLDER_ENTER_NICK_NAME":"Enter nickname","CONTACTS/LABEL_READ_ONLY":"Read only","CONTACTS/LABEL_SHARE":"Share","CONTACTS/ADD_MENU_LABEL":"Add","CONTACTS/ADD_MENU_NICKNAME":"Nickname","CONTACTS/ADD_MENU_NOTES":"Notes","CONTACTS/ADD_MENU_EMAIL":"Email","CONTACTS/ADD_MENU_PHONE":"Phone","CONTACTS/ADD_MENU_URL":"URL","CONTACTS/ADD_MENU_ADDRESS":"Address","CONTACTS/ADD_MENU_BIRTHDAY":"Birthday","CONTACTS/ADD_MENU_TAGS":"Tags","CONTACTS/BUTTON_SHARE_NONE":"None","CONTACTS/BUTTON_SHARE_ALL":"Everyone","CONTACTS/BUTTON_SYNC":"Synchronization (CardDAV)","COMPOSE/TITLE_FROM":"From","COMPOSE/TITLE_TO":"To","COMPOSE/TITLE_CC":"CC","COMPOSE/TITLE_BCC":"BCC","COMPOSE/TITLE_REPLY_TO":"Reply-To","COMPOSE/TITLE_SUBJECT":"Subject","COMPOSE/LINK_SHOW_INPUTS":"show all fields","COMPOSE/BUTTON_SEND":"Send","COMPOSE/BUTTON_SAVE":"Save","COMPOSE/BUTTON_DELETE":"Delete","COMPOSE/BUTTON_CANCEL":"Cancel","COMPOSE/BUTTON_MINIMIZE":"Minimize","COMPOSE/SAVED_TIME":"Saved at %TIME%","COMPOSE/SAVED_ERROR_ON_SEND":"Message was sent but not saved to sent items folder","COMPOSE/DISCARD_UNSAVED_DATA":"Discard unsaved data?","COMPOSE/ATTACH_FILES":"Attach files","COMPOSE/ATTACH_DROP_FILES_DESC":"Drop files here","COMPOSE/ATTACH_ITEM_CANCEL":"Cancel","COMPOSE/DROPBOX":"Dropbox","COMPOSE/GOOGLE_DRIVE":"Google Drive","COMPOSE/REPLY_MESSAGE_TITLE":"%DATETIME%, %EMAIL% wrote","COMPOSE/FORWARD_MESSAGE_TOP_TITLE":"-------- Forwarded message -------","COMPOSE/FORWARD_MESSAGE_TOP_FROM":"From","COMPOSE/FORWARD_MESSAGE_TOP_TO":"To","COMPOSE/FORWARD_MESSAGE_TOP_CC":"CC","COMPOSE/FORWARD_MESSAGE_TOP_SENT":"Sent","COMPOSE/FORWARD_MESSAGE_TOP_SUBJECT":"Subject","COMPOSE/EMPTY_TO_ERROR_DESC":"Please specify at least one recipient","COMPOSE/NO_ATTACHMENTS_HERE_DESC":"No attachments here.","COMPOSE/ATTACHMENTS_ERROR_DESC":"Warning! Not all attachments have been uploaded.","COMPOSE/ATTACHMENTS_UPLOAD_ERROR_DESC":"Not all attachments have been uploaded yet.","COMPOSE/BUTTON_REQUEST_READ_RECEIPT":"Request a read receipt","COMPOSE/BUTTON_MARK_AS_IMPORTANT":"Mark as important","COMPOSE/BUTTON_OPEN_PGP":"OpenPGP (Plain Text Only)","COMPOSE/BUTTON_REQUEST_DSN":"Request a delivery receipt","POPUPS_WELCOME_PAGE/BUTTON_CLOSE":"Close","POPUPS_ASK/BUTTON_YES":"Yes","POPUPS_ASK/BUTTON_NO":"No","POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW":"Are you sure you want to close this window?","POPUPS_ASK/DESC_WANT_DELETE_MESSAGES":"Are you sure you want to delete the message(s)?","POPUPS_LANGUAGES/TITLE_LANGUAGES":"Choose your language","POPUPS_ADD_ACCOUNT/TITLE_ADD_ACCOUNT":"Add Account?","POPUPS_ADD_ACCOUNT/BUTTON_ADD_ACCOUNT":"Add","POPUPS_ADD_ACCOUNT/TITLE_UPDATE_ACCOUNT":"Update Account?","POPUPS_ADD_ACCOUNT/BUTTON_UPDATE_ACCOUNT":"Update","POPUPS_IDENTITY/TITLE_ADD_IDENTITY":"Add Identity?","POPUPS_IDENTITY/TITLE_UPDATE_IDENTITY":"Update Identity?","POPUPS_IDENTITY/BUTTON_ADD_IDENTITY":"Add","POPUPS_IDENTITY/BUTTON_UPDATE_IDENTITY":"Update","POPUPS_IDENTITY/LABEL_EMAIL":"Email","POPUPS_IDENTITY/LABEL_NAME":"Name","POPUPS_IDENTITY/LABEL_REPLY_TO":"Reply-To","POPUPS_IDENTITY/LABEL_SIGNATURE":"Signature","POPUPS_IDENTITY/LABEL_CC":"Cc","POPUPS_IDENTITY/LABEL_BCC":"Bcc","POPUPS_IDENTITY/LABEL_SIGNATURE_INSERT_BEFORE":"Insert this signature before quoted text in replies","POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER":"Create a folder?","POPUPS_CREATE_FOLDER/LABEL_NAME":"Folder name","POPUPS_CREATE_FOLDER/LABEL_PARENT":"Parent folder","POPUPS_CREATE_FOLDER/BUTTON_CREATE":"Create","POPUPS_CREATE_FOLDER/BUTTON_CANCEL":"Cancel","POPUPS_CREATE_FOLDER/BUTTON_CLOSE":"Close","POPUPS_CREATE_FOLDER/TITLE_CREATING_PROCESS":"Creating a folder","POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER":"Purge all messages from the folder?","POPUPS_CLEAR_FOLDER/BUTTON_CLEAR":"Clear","POPUPS_CLEAR_FOLDER/BUTTON_CANCEL":"Cancel","POPUPS_CLEAR_FOLDER/BUTTON_CLOSE":"Close","POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING":"Warning!","POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_1":"This action will result in removing all mails from %FOLDER% folder completely.","POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_2":"Once started, the process cannot be aborted or cancelled.","POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS":"Purging the folder...","POPUPS_IMPORT_OPEN_PGP_KEY/TITLE_IMPORT_OPEN_PGP_KEY":"Import OpenPGP key","POPUPS_IMPORT_OPEN_PGP_KEY/BUTTON_IMPORT_OPEN_PGP_KEY":"Import","POPUPS_VIEW_OPEN_PGP_KEY/TITLE_VIEW_OPEN_PGP_KEY":"View OpenPGP key","POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_SELECT":"Select","POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_CLOSE":"Close","POPUPS_GENERATE_OPEN_PGP_KEYS/TITLE_GENERATE_OPEN_PGP_KEYS":"Generate OpenPGP keys","POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_EMAIL":"Email","POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_NAME":"Name","POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_PASSWORD":"Password","POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_KEY_BIT_LENGTH":"Key length","POPUPS_GENERATE_OPEN_PGP_KEYS/BUTTON_GENERATE_OPEN_PGP_KEYS":"Generate","POPUPS_COMPOSE_OPEN_PGP/TITLE_COMPOSE_OPEN_PGP":"OpenPGP Sign/Encrypt","POPUPS_COMPOSE_OPEN_PGP/LABEL_SIGN":"Sign","POPUPS_COMPOSE_OPEN_PGP/LABEL_ENCRYPT":"Encrypt","POPUPS_COMPOSE_OPEN_PGP/LABEL_PASSWORD":"Password","POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN":"Sign","POPUPS_COMPOSE_OPEN_PGP/BUTTON_ENCRYPT":"Encrypt","POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN_AND_ENCRYPT":"Sign and encrypt","POPUPS_MESSAGE_OPEN_PGP/TITLE_MESSAGE_OPEN_PGP":"OpenPGP Decrypt","POPUPS_MESSAGE_OPEN_PGP/LABEL_KEY":"Private Key","POPUPS_MESSAGE_OPEN_PGP/LABEL_PASSWORD":"Password","POPUPS_MESSAGE_OPEN_PGP/BUTTON_DECRYPT":"Decrypt","POPUPS_TWO_FACTOR_TEST/TITLE_TEST_CODE":"2-Step verification test","POPUPS_TWO_FACTOR_TEST/LABEL_CODE":"Code","POPUPS_TWO_FACTOR_TEST/BUTTON_TEST":"Test","POPUPS_FILTER/TITLE_CREATE_FILTER":"Create a filter?","POPUPS_FILTER/TITLE_EDIT_FILTER":"Update filter?","POPUPS_FILTER/FILTER_NAME":"Name","POPUPS_FILTER/LEGEND_CONDITIONS":"Conditions","POPUPS_FILTER/LEGEND_ACTIONS":"Actions","POPUPS_FILTER/BUTTON_DONE":"Done","POPUPS_FILTER/BUTTON_ADD_CONDITION":"Add a Condition","POPUPS_FILTER/SELECT_ACTION_NONE":"None","POPUPS_FILTER/SELECT_ACTION_MOVE_TO":"Move to","POPUPS_FILTER/SELECT_ACTION_FORWARD_TO":"Forward to","POPUPS_FILTER/SELECT_ACTION_REJECT":"Reject","POPUPS_FILTER/SELECT_ACTION_VACATION_MESSAGE":"Vacation message","POPUPS_FILTER/SELECT_ACTION_DISCARD":"Discard","POPUPS_FILTER/SELECT_FIELD_FROM":"From","POPUPS_FILTER/SELECT_FIELD_RECIPIENTS":"Recipients (To or CC)","POPUPS_FILTER/SELECT_FIELD_SUBJECT":"Subject","POPUPS_FILTER/SELECT_FIELD_HEADER":"Header","POPUPS_FILTER/SELECT_FIELD_SIZE":"Size","POPUPS_FILTER/SELECT_TYPE_CONTAINS":"Contains","POPUPS_FILTER/SELECT_TYPE_NOT_CONTAINS":"Not Contains","POPUPS_FILTER/SELECT_TYPE_MATCHES":"Matches (* and ? supported)","POPUPS_FILTER/SELECT_TYPE_NOT_MATCHES":"Not Matches (* and ? supported)","POPUPS_FILTER/SELECT_TYPE_REGEXP":"Regexp","POPUPS_FILTER/SELECT_TYPE_NOT_REGEXP":"Not Regexp","POPUPS_FILTER/SELECT_TYPE_EQUAL_TO":"Equal To","POPUPS_FILTER/SELECT_TYPE_NOT_EQUAL_TO":"Not Equal To","POPUPS_FILTER/SELECT_TYPE_OVER":"Over","POPUPS_FILTER/SELECT_TYPE_UNDER":"Under","POPUPS_FILTER/SELECT_MATCH_ANY":"Matching ANY of the following rules","POPUPS_FILTER/SELECT_MATCH_ALL":"Matching ALL of the following rules","POPUPS_FILTER/MARK_AS_READ_LABEL":"Mark as read","POPUPS_FILTER/REPLY_INTERVAL_LABEL":"Reply interval (days)","POPUPS_FILTER/KEEP_LABEL":"Keep","POPUPS_FILTER/STOP_LABEL":"Don't stop processing rules","POPUPS_FILTER/EMAIL_LABEL":"Email","POPUPS_FILTER/VACATION_SUBJECT_LABEL":"Subject (optional)","POPUPS_FILTER/VACATION_MESSAGE_LABEL":"Message","POPUPS_FILTER/VACATION_RECIPIENTS_LABEL":"Recipients (comma separated)","POPUPS_FILTER/REJECT_MESSAGE_LABEL":"Reject message","POPUPS_FILTER/ALL_INCOMING_MESSAGES_DESC":"All incoming messages","POPUPS_SYSTEM_FOLDERS/TITLE_SYSTEM_FOLDERS":"Select system folders","POPUPS_SYSTEM_FOLDERS/SELECT_CHOOSE_ONE":"Choose one","POPUPS_SYSTEM_FOLDERS/SELECT_UNUSE_NAME":"Do not use","POPUPS_SYSTEM_FOLDERS/LABEL_SENT":"Sent","POPUPS_SYSTEM_FOLDERS/LABEL_DRAFTS":"Drafts","POPUPS_SYSTEM_FOLDERS/LABEL_SPAM":"Spam","POPUPS_SYSTEM_FOLDERS/LABEL_TRASH":"Trash","POPUPS_SYSTEM_FOLDERS/LABEL_ARCHIVE":"Archive","POPUPS_SYSTEM_FOLDERS/BUTTON_CANCEL":"Cancel","POPUPS_SYSTEM_FOLDERS/BUTTON_CLOSE":"Close","POPUPS_SYSTEM_FOLDERS/NOTIFICATION_SENT":"You haven't selected \"Sent\" system folder messages are put to after sending.\nIf you don't want to save sent message, please select \"Do not use\" option.","POPUPS_SYSTEM_FOLDERS/NOTIFICATION_DRAFTS":"You haven't selected \"Drafts\" system folder messages are saved to while composing.","POPUPS_SYSTEM_FOLDERS/NOTIFICATION_SPAM":"You haven't selected \"Spam\" system folder spamed messages are placed to.\nIf you wish to remove messages permanently, please select \"Do not use\" option.","POPUPS_SYSTEM_FOLDERS/NOTIFICATION_TRASH":"You haven't selected \"Trash\" system folder deleted messages are placed to.\nIf you wish to remove messages permanently, please select \"Do not use\" option.","POPUPS_SYSTEM_FOLDERS/NOTIFICATION_ARCHIVE":"You haven't selected \"Archive\" system folder achived messages are placed to.","POPUPS_TWO_FACTOR_CFG/LEGEND_TWO_FACTOR_AUTH":"2-Step Verification (TOTP)","POPUPS_TWO_FACTOR_CFG/LABEL_ENABLE_TWO_FACTOR":"Enable 2-Step verification","POPUPS_TWO_FACTOR_CFG/LABEL_TWO_FACTOR_USER":"User","POPUPS_TWO_FACTOR_CFG/LABEL_TWO_FACTOR_STATUS":"Status","POPUPS_TWO_FACTOR_CFG/LABEL_TWO_FACTOR_SECRET":"Secret","POPUPS_TWO_FACTOR_CFG/LABEL_TWO_FACTOR_BACKUP_CODES":"Backup codes","POPUPS_TWO_FACTOR_CFG/BUTTON_CREATE":"Create a secret","POPUPS_TWO_FACTOR_CFG/BUTTON_ACTIVATE":"Activate","POPUPS_TWO_FACTOR_CFG/BUTTON_CLEAR":"Clear","POPUPS_TWO_FACTOR_CFG/BUTTON_LOGOUT":"Logout","POPUPS_TWO_FACTOR_CFG/BUTTON_DONE":"Done","POPUPS_TWO_FACTOR_CFG/BUTTON_TEST":"Test","POPUPS_TWO_FACTOR_CFG/LINK_TEST":"test","POPUPS_TWO_FACTOR_CFG/BUTTON_SHOW_SECRET":"Show Secret","POPUPS_TWO_FACTOR_CFG/BUTTON_HIDE_SECRET":"Hide Secret","POPUPS_TWO_FACTOR_CFG/TWO_FACTOR_REQUIRE_DESC":"Your account requires 2-Step verification configuration.","POPUPS_TWO_FACTOR_CFG/TWO_FACTOR_SECRET_CONFIGURED_DESC":"Configured","POPUPS_TWO_FACTOR_CFG/TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC":"Not configured","POPUPS_TWO_FACTOR_CFG/TWO_FACTOR_SECRET_DESC":"Import this info into your Google Authenticator client (or other TOTP client) using the provided QR code below or by entering the code manually.","POPUPS_TWO_FACTOR_CFG/TWO_FACTOR_BACKUP_CODES_DESC":"If you can't receive codes via Google Authenticator (or other TOTP client), you can use backup codes to sign in. After you’ve used a backup code to sign in, it will become inactive.","POPUPS_TWO_FACTOR_CFG/TWO_FACTOR_SECRET_TEST_BEFORE_DESC":"You can't change this setting before test.","TITLES/LOADING":"Loading","TITLES/LOGIN":"Login","TITLES/MAILBOX":"MailBox","TITLES/SETTINGS":"Settings","TITLES/COMPOSE":"Compose","UPLOAD/ERROR_FILE_IS_TOO_BIG":"File is too big","UPLOAD/ERROR_FILE_PARTIALLY_UPLOADED":"File was partially uploaded due to unknown error","UPLOAD/ERROR_NO_FILE_UPLOADED":"No file uploaded","UPLOAD/ERROR_MISSING_TEMP_FOLDER":"The temporary file is missing","UPLOAD/ERROR_ON_SAVING_FILE":"An unknown file upload error occurred","UPLOAD/ERROR_FILE_TYPE":"Invalid file type","UPLOAD/ERROR_UNKNOWN":"An unknown file upload error occurred","EDITOR/TEXT_SWITCHER_PLAINT_TEXT":"HTML <-> TEXT","EDITOR/TEXT_SWITCHER_RICH_FORMATTING":"Rich formatting","EDITOR/TEXT_SWITCHER_CONFIRM":"Text formatting and images will be lost. Are you sure you want to continue?","SETTINGS_LABELS/LABEL_PERSONAL_NAME":"Personal","SETTINGS_LABELS/LABEL_GENERAL_NAME":"General","SETTINGS_LABELS/LABEL_CONTACTS_NAME":"Contacts","SETTINGS_LABELS/LABEL_FOLDERS_NAME":"Folders","SETTINGS_LABELS/LABEL_ACCOUNTS_NAME":"Accounts","SETTINGS_LABELS/LABEL_IDENTITY_NAME":"Identity","SETTINGS_LABELS/LABEL_IDENTITIES_NAME":"Identities","SETTINGS_LABELS/LABEL_FILTERS_NAME":"Filters","SETTINGS_LABELS/LABEL_TEMPLATES_NAME":"Templates","SETTINGS_LABELS/LABEL_SECURITY_NAME":"Security","SETTINGS_LABELS/LABEL_SOCIAL_NAME":"Social","SETTINGS_LABELS/LABEL_THEMES_NAME":"Themes","SETTINGS_LABELS/LABEL_CHANGE_PASSWORD_NAME":"Password","SETTINGS_LABELS/LABEL_OPEN_PGP_NAME":"OpenPGP","SETTINGS_LABELS/BUTTON_BACK":"Back","SETTINGS_FILTERS/LEGEND_FILTERS":"Filters","SETTINGS_FILTERS/BUTTON_SAVE":"Save","SETTINGS_FILTERS/BUTTON_ADD_FILTER":"Add a Filter","SETTINGS_FILTERS/BUTTON_DELETE":"Delete","SETTINGS_FILTERS/BUTTON_RAW_SCRIPT":"Use Custom User Script","SETTINGS_FILTERS/SUBNAME_NONE":"None","SETTINGS_FILTERS/SUBNAME_MOVE_TO":"Move to \"%FOLDER%\"","SETTINGS_FILTERS/SUBNAME_FORWARD_TO":"Forward to \"%EMAIL%\"","SETTINGS_FILTERS/SUBNAME_REJECT":"Reject","SETTINGS_FILTERS/SUBNAME_VACATION_MESSAGE":"Vacation message","SETTINGS_FILTERS/SUBNAME_DISCARD":"Discard","SETTINGS_FILTERS/CAPABILITY_LABEL":"Capability","SETTINGS_FILTERS/LOADING_PROCESS":"Updating filter list","SETTINGS_FILTERS/DELETING_ASK":"Are you sure?","SETTINGS_FILTERS/CHACHES_NEED_TO_BE_SAVED_DESC":"These changes need to be saved to the server.","SETTINGS_IDENTITY/LEGEND_IDENTITY":"Identity","SETTINGS_IDENTITY/LABEL_DISPLAY_NAME":"Name","SETTINGS_IDENTITY/LABEL_REPLY_TO":"Reply-To","SETTINGS_IDENTITY/LABEL_SIGNATURE":"Signature","SETTINGS_IDENTITY/LABEL_ADD_SIGNATURE_TO_ALL":"Add your signature to all the outgoing messages","SETTINGS_SECURITY/LEGEND_SECURITY":"Security","SETTINGS_SECURITY/LABEL_CONFIGURE_TWO_FACTOR":"Configure 2-Step verification","SETTINGS_SECURITY/LABEL_AUTOLOGOUT":"Auto Logout","SETTINGS_SECURITY/AUTOLOGIN_NEVER_OPTION_NAME":"Never","SETTINGS_SECURITY/AUTOLOGIN_MINUTES_OPTION_NAME":"%MINUTES% minute(s)","SETTINGS_SECURITY/AUTOLOGIN_HOURS_OPTION_NAME":"%HOURS% hour(s)","SETTINGS_GENERAL/LEGEND_GENERAL":"General","SETTINGS_GENERAL/LABEL_LANGUAGE":"Language","SETTINGS_GENERAL/LABEL_IDENTITY":"Identity","SETTINGS_GENERAL/LABEL_LAYOUT":"Layout","SETTINGS_GENERAL/LABEL_LAYOUT_NO_SPLIT":"No Split","SETTINGS_GENERAL/LABEL_LAYOUT_VERTICAL_SPLIT":"Vertical Split","SETTINGS_GENERAL/LABEL_LAYOUT_HORIZONTAL_SPLIT":"Horizontal Split","SETTINGS_GENERAL/LABEL_EDITOR":"Default text editor","SETTINGS_GENERAL/LABEL_EDITOR_HTML":"Html","SETTINGS_GENERAL/LABEL_EDITOR_PLAIN":"Plain","SETTINGS_GENERAL/LABEL_EDITOR_HTML_FORCED":"Html (forced)","SETTINGS_GENERAL/LABEL_EDITOR_PLAIN_FORCED":"Plain (forced)","SETTINGS_GENERAL/LABEL_ANIMATION":"Interface animation","SETTINGS_GENERAL/LABEL_ANIMATION_FULL":"Full","SETTINGS_GENERAL/LABEL_ANIMATION_NORMAL":"Normal","SETTINGS_GENERAL/LABEL_ANIMATION_NONE":"None","SETTINGS_GENERAL/LABEL_VIEW_OPTIONS":"View options","SETTINGS_GENERAL/LABEL_USE_PREVIEW_PANE":"Use preview pane","SETTINGS_GENERAL/LABEL_USE_CHECKBOXES_IN_LIST":"Display checkboxes in list","SETTINGS_GENERAL/LABEL_USE_THREADS":"Use threads","SETTINGS_GENERAL/LABEL_REPLY_SAME_FOLDER":"Place replies in the folder of the message being replied to","SETTINGS_GENERAL/LABEL_SHOW_IMAGES":"Always display external images in message body","SETTINGS_GENERAL/LABEL_SHOW_ANIMATION":"Show animation","SETTINGS_GENERAL/LABEL_MESSAGE_PER_PAGE":"Messages on page","SETTINGS_GENERAL/LABEL_NOTIFICATIONS":"Notifications","SETTINGS_GENERAL/LABEL_SOUND_NOTIFICATION":"Sound notification","SETTINGS_GENERAL/LABEL_CHROME_NOTIFICATION_DESC":"Show new messages notification popups","SETTINGS_GENERAL/LABEL_CHROME_NOTIFICATION_DESC_DENIED":"(Blocked by the browser)","SETTINGS_CONTACTS/LEGEND_CONTACTS":"Contacts","SETTINGS_CONTACTS/LABEL_CONTACTS_AUTOSAVE":"Automatically add recipients to your address book","SETTINGS_CONTACTS/LEGEND_CONTACTS_SYNC":"Remote Synchronization (CardDAV)","SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_ENABLE":"Enable remote synchronization","SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_SERVER":"Server","SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL":"Addressbook URL","SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_USER":"User","SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_PASSWORD":"Password","SETTINGS_THEMES/LEGEND_THEMES":"Themes","SETTINGS_THEMES/LEGEND_THEMES_CUSTOM":"Custom Theme Configuration","SETTINGS_THEMES/LABEL_CUSTOM_TYPE":"Type","SETTINGS_THEMES/LABEL_CUSTOM_TYPE_LIGHT":"Light","SETTINGS_THEMES/LABEL_CUSTOM_TYPE_DARK":"Dark","SETTINGS_THEMES/LABEL_CUSTOM_BACKGROUND_IMAGE":"Background","SETTINGS_THEMES/BUTTON_UPLOAD_BACKGROUND_IMAGE":"Upload background image (JPG, PNG)","SETTINGS_THEMES/ERROR_FILE_IS_TOO_BIG":"File is too big","SETTINGS_THEMES/ERROR_FILE_TYPE_ERROR":"Invalid file type (JPG and PNG only)","SETTINGS_THEMES/ERROR_UNKNOWN":"An unknown file upload error occurred","SETTINGS_SOCIAL/LEGEND_GOOGLE":"Google","SETTINGS_SOCIAL/BUTTON_GOOGLE_CONNECT":"Connect Google","SETTINGS_SOCIAL/BUTTON_GOOGLE_DISCONNECT":"Disconnect Google","SETTINGS_SOCIAL/MAIN_GOOGLE_DESC":"After enabling login via Google, you can log into this account using Google button on the login screen.","SETTINGS_SOCIAL/LEGEND_FACEBOOK":"Facebook","SETTINGS_SOCIAL/BUTTON_FACEBOOK_CONNECT":"Connect Facebook","SETTINGS_SOCIAL/BUTTON_FACEBOOK_DISCONNECT":"Disconnect Facebook","SETTINGS_SOCIAL/MAIN_FACEBOOK_DESC":"After enabling login via Facebook, you can log into this account using Facebook button on the login screen.","SETTINGS_SOCIAL/LEGEND_TWITTER":"Twitter","SETTINGS_SOCIAL/BUTTON_TWITTER_CONNECT":"Connect Twitter","SETTINGS_SOCIAL/BUTTON_TWITTER_DISCONNECT":"Disconnect Twitter","SETTINGS_SOCIAL/MAIN_TWITTER_DESC":"After enabling login via Twitter, you can log into this account using Twitter button on the login screen.","SETTINGS_FOLDERS/LEGEND_FOLDERS":"Folder List","SETTINGS_FOLDERS/BUTTON_CREATE":"Create Folder","SETTINGS_FOLDERS/BUTTON_SYSTEM":"System Folders","SETTINGS_FOLDERS/BUTTON_DELETE":"Delete","SETTINGS_FOLDERS/BUTTON_SUBSCRIBE":"Subscribe","SETTINGS_FOLDERS/BUTTON_UNSUBSCRIBE":"Unsubscribe","SETTINGS_FOLDERS/LOADING_PROCESS":"Updating folder list","SETTINGS_FOLDERS/CREATING_PROCESS":"Creating a folder","SETTINGS_FOLDERS/DELETING_PROCESS":"Deleting a folder","SETTINGS_FOLDERS/RENAMING_PROCESS":"Renaming a folder","SETTINGS_FOLDERS/DELETING_ASK":"Are you sure?","SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_1":"You have too many folders!","SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_2":"We have shown only a part of them, to avoid performance problems.","SETTINGS_FOLDERS/HELP_DELETE_FOLDER":"Delete folder","SETTINGS_FOLDERS/HELP_SHOW_HIDE_FOLDER":"Show/hide folder","SETTINGS_FOLDERS/HELP_CHECK_FOR_NEW_MESSAGES":"Check/don't check for new messages","SETTINGS_ACCOUNTS/LEGEND_ACCOUNTS":"Accounts","SETTINGS_ACCOUNTS/LEGEND_IDENTITIES":"Identities","SETTINGS_ACCOUNTS/LEGEND_ACCOUNTS_AND_IDENTITIES":"Accounts and Identities","SETTINGS_ACCOUNTS/BUTTON_ADD_ACCOUNT":"Add an Account","SETTINGS_ACCOUNTS/BUTTON_ADD_IDENTITY":"Add an Identity","SETTINGS_ACCOUNTS/BUTTON_DELETE":"Delete","SETTINGS_ACCOUNTS/LOADING_PROCESS":"Updating...","SETTINGS_ACCOUNTS/DELETING_ASK":"Are you sure?","SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL":"default","SETTINGS_IDENTITIES/LEGEND_IDENTITY":"Identity","SETTINGS_IDENTITIES/LEGEND_IDENTITIES":"Additional Identities","SETTINGS_IDENTITIES/LABEL_DEFAULT":"Default","SETTINGS_IDENTITIES/LABEL_DISPLAY_NAME":"Name","SETTINGS_IDENTITIES/LABEL_REPLY_TO":"Reply-To","SETTINGS_IDENTITIES/LABEL_SIGNATURE":"Signature","SETTINGS_IDENTITIES/LABEL_ADD_SIGNATURE_TO_ALL":"Add your signature to all the outgoing messages","SETTINGS_IDENTITIES/BUTTON_ADD_IDENTITY":"Add Identity","SETTINGS_IDENTITIES/BUTTON_DELETE":"Delete","SETTINGS_IDENTITIES/LOADING_PROCESS":"Updating identity list","SETTINGS_IDENTITIES/DELETING_ASK":"Are you sure?","SETTINGS_CHANGE_PASSWORD/LEGEND_CHANGE_PASSWORD":"Change Password","SETTINGS_CHANGE_PASSWORD/LABEL_CURRENT_PASSWORD":"Current password","SETTINGS_CHANGE_PASSWORD/LABEL_NEW_PASSWORD":"New password","SETTINGS_CHANGE_PASSWORD/LABEL_REPEAT_PASSWORD":"Confirm New Password","SETTINGS_CHANGE_PASSWORD/BUTTON_UPDATE_PASSWORD":"Set New Password","SETTINGS_CHANGE_PASSWORD/ERROR_PASSWORD_MISMATCH":"Passwords do not match, please try again","SETTINGS_OPEN_PGP/LEGEND_OPEN_PGP":"OpenPGP","SETTINGS_OPEN_PGP/BUTTON_ADD_OPEN_PGP_KEY":"Import OpenPGP Key","SETTINGS_OPEN_PGP/BUTTON_GENERATE_OPEN_PGP_KEYS":"Generate OpenPGP Keys","SETTINGS_OPEN_PGP/TITLE_PRIVATE":"Private","SETTINGS_OPEN_PGP/TITLE_PUBLIC":"Public","SETTINGS_OPEN_PGP/DELETING_ASK":"Are you sure?","SETTINGS_OPEN_PGP/GENERATE_ONLY_HTTPS":"HTTPS only","SETTINGS_OPEN_PGP/LABEL_ALLOW_DRAFT_AUTOSAVE":"Automatically save draft","SHORTCUTS_HELP/LEGEND_SHORTCUTS_HELP":"Keyboard shortcuts help","SHORTCUTS_HELP/TAB_MAILBOX":"Mailbox","SHORTCUTS_HELP/TAB_MESSAGE_LIST":"Message list","SHORTCUTS_HELP/TAB_MESSAGE_VIEW":"Message view","SHORTCUTS_HELP/TAB_COMPOSE":"Compose","SHORTCUTS_HELP/LABEL_OPEN_USER_DROPDOWN":"Open user dropdown","SHORTCUTS_HELP/LABEL_REPLY":"Reply","SHORTCUTS_HELP/LABEL_REPLY_ALL":"Reply All","SHORTCUTS_HELP/LABEL_FORWARD":"Forward","SHORTCUTS_HELP/LABEL_FORWARD_MULTIPLY":"Forward as attachment(s)","SHORTCUTS_HELP/LABEL_HELP":"Help","SHORTCUTS_HELP/LABEL_CHECK_ALL":"Select all messages","SHORTCUTS_HELP/LABEL_ARCHIVE":"Archive","SHORTCUTS_HELP/LABEL_DELETE":"Delete","SHORTCUTS_HELP/LABEL_OPEN_THREAD":"Open selected thread","SHORTCUTS_HELP/LABEL_MOVE":"Move","SHORTCUTS_HELP/LABEL_READ":"Read selected messages","SHORTCUTS_HELP/LABEL_UNREAD":"Unread selected messages","SHORTCUTS_HELP/LABEL_IMPORTANT":"Important, flag selected messages","SHORTCUTS_HELP/LABEL_SEARCH":"Search","SHORTCUTS_HELP/LABEL_CANCEL_SEARCH":"Cancel search","SHORTCUTS_HELP/LABEL_FULLSCREEN_ENTER":"Fullscreen (Preview pane layout)","SHORTCUTS_HELP/LABEL_VIEW_MESSAGE_ENTER":"View message (No preview pane layout)","SHORTCUTS_HELP/LABEL_SWITCH_TO_MESSAGE":"Switch focus to selected message","SHORTCUTS_HELP/LABEL_SWITCH_TO_FOLDER_LIST":"Switch focus to folder list","SHORTCUTS_HELP/LABEL_FULLSCREEN_TOGGLE":"Toggle fullscreen mode","SHORTCUTS_HELP/LABEL_BLOCKQUOTES_TOGGLE":"Toggle message blockquotes","SHORTCUTS_HELP/LABEL_THREAD_NEXT":"Next message in thread","SHORTCUTS_HELP/LABEL_THREAD_PREV":"Previous message in thread","SHORTCUTS_HELP/LABEL_PRINT":"Print","SHORTCUTS_HELP/LABEL_EXIT_FULLSCREEN":"Exit fullscreen mode","SHORTCUTS_HELP/LABEL_CLOSE_MESSAGE":"Close message (No preview pane layout)","SHORTCUTS_HELP/LABEL_SWITCH_TO_LIST":"Switch focus back to message list","SHORTCUTS_HELP/LABEL_OPEN_COMPOSE_POPUP":"Open compose popup","SHORTCUTS_HELP/LABEL_MINIMIZE_COMPOSE_POPUP":"Minimize compose popup","SHORTCUTS_HELP/LABEL_OPEN_IDENTITIES_DROPDOWN":"Open identities dropdown","SHORTCUTS_HELP/LABEL_SAVE_MESSAGE":"Save message","SHORTCUTS_HELP/LABEL_SEND_MESSAGE":"Send message","SHORTCUTS_HELP/LABEL_CLOSE_COMPOSE":"Close compose","PGP_NOTIFICATIONS/NO_PUBLIC_KEYS_FOUND":"No public keys found","PGP_NOTIFICATIONS/NO_PUBLIC_KEYS_FOUND_FOR":"No public keys found for \"%EMAIL%\" email","PGP_NOTIFICATIONS/NO_PRIVATE_KEY_FOUND":"No private key found","PGP_NOTIFICATIONS/NO_PRIVATE_KEY_FOUND_FOR":"No private key found for \"%EMAIL%\" email","PGP_NOTIFICATIONS/ADD_A_PUBLICK_KEY":"Add a public key","PGP_NOTIFICATIONS/SELECT_A_PRIVATE_KEY":"Select a private key","PGP_NOTIFICATIONS/UNVERIFIRED_SIGNATURE":"Unverified signature","PGP_NOTIFICATIONS/DECRYPTION_ERROR":"OpenPGP decryption error","PGP_NOTIFICATIONS/GOOD_SIGNATURE":"Good signature from %USER%","PGP_NOTIFICATIONS/PGP_ERROR":"OpenPGP error: %ERROR%","PGP_NOTIFICATIONS/SPECIFY_FROM_EMAIL":"Please specify FROM email address","PGP_NOTIFICATIONS/SPECIFY_AT_LEAST_ONE_RECIPIENT":"Please specify at least one recipient","NOTIFICATIONS/INVALID_TOKEN":"Invalid token","NOTIFICATIONS/AUTH_ERROR":"Authentication failed","NOTIFICATIONS/ACCESS_ERROR":"Access error","NOTIFICATIONS/CONNECTION_ERROR":"Can't connect to server","NOTIFICATIONS/CAPTCHA_ERROR":"Incorrect CAPTCHA.","NOTIFICATIONS/SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE":"This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings.","NOTIFICATIONS/SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE":"This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings.","NOTIFICATIONS/SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE":"This social ID is not assigned for any email account yet. Log in using email credentials and enable this feature in account settings.","NOTIFICATIONS/DOMAIN_NOT_ALLOWED":"Domain is not allowed","NOTIFICATIONS/ACCOUNT_NOT_ALLOWED":"Account is not allowed","NOTIFICATIONS/ACCOUNT_TWO_FACTOR_AUTH_REQUIRED":"Two factor verification required","NOTIFICATIONS/ACCOUNT_TWO_FACTOR_AUTH_ERROR":"Two factor verification error","NOTIFICATIONS/COULD_NOT_SAVE_NEW_PASSWORD":"Could not save new password","NOTIFICATIONS/CURRENT_PASSWORD_INCORRECT":"Current password incorrect","NOTIFICATIONS/NEW_PASSWORD_SHORT":"Password is too short","NOTIFICATIONS/NEW_PASSWORD_WEAK":"Password is too easy","NOTIFICATIONS/NEW_PASSWORD_FORBIDDENT":"Password contains forbidden characters","NOTIFICATIONS/CONTACTS_SYNC_ERROR":"Contacts synchronization error","NOTIFICATIONS/CANT_GET_MESSAGE_LIST":"Can't get message list","NOTIFICATIONS/CANT_GET_MESSAGE":"Can't get message","NOTIFICATIONS/CANT_DELETE_MESSAGE":"Can't delete message","NOTIFICATIONS/CANT_MOVE_MESSAGE":"Can't move message","NOTIFICATIONS/CANT_SAVE_MESSAGE":"Can't save message","NOTIFICATIONS/CANT_SEND_MESSAGE":"Can't send message","NOTIFICATIONS/INVALID_RECIPIENTS":"Invalid recipients","NOTIFICATIONS/CANT_SAVE_FILTERS":"Can't save filters","NOTIFICATIONS/CANT_GET_FILTERS":"Can't get filters","NOTIFICATIONS/FILTERS_ARE_NOT_CORRECT":"Filters are not correct","NOTIFICATIONS/CANT_CREATE_FOLDER":"Can't create folder","NOTIFICATIONS/CANT_RENAME_FOLDER":"Can't rename folder","NOTIFICATIONS/CANT_DELETE_FOLDER":"Can't delete folder","NOTIFICATIONS/CANT_DELETE_NON_EMPTY_FOLDER":"Can't delete non-empty directory","NOTIFICATIONS/CANT_SUBSCRIBE_FOLDER":"Can't subscribe folder","NOTIFICATIONS/CANT_UNSUBSCRIBE_FOLDER":"Can't unsubscribe folder","NOTIFICATIONS/CANT_SAVE_SETTINGS":"Can't save settings","NOTIFICATIONS/CANT_SAVE_PLUGIN_SETTINGS":"Can't save settings","NOTIFICATIONS/DOMAIN_ALREADY_EXISTS":"Domain already exists","NOTIFICATIONS/CANT_INSTALL_PACKAGE":"Failed to install package","NOTIFICATIONS/CANT_DELETE_PACKAGE":"Failed to remove package","NOTIFICATIONS/INVALID_PLUGIN_PACKAGE":"Invalid plugin package","NOTIFICATIONS/UNSUPPORTED_PLUGIN_PACKAGE":"Unsupported plugin package","NOTIFICATIONS/LICENSING_SERVER_IS_UNAVAILABLE":"Subscription server is unvailable","NOTIFICATIONS/LICENSING_DOMAIN_EXPIRED":"Subscription for this domain has expired.","NOTIFICATIONS/LICENSING_DOMAIN_BANNED":"Subscription for this domain is banned.","NOTIFICATIONS/DEMO_SEND_MESSAGE_ERROR":"For security purposes, this account is not allowed to send messages to external e-mail addresses!","NOTIFICATIONS/DEMO_ACCOUNT_ERROR":"For security purposes, this account is not allowed for this action!","NOTIFICATIONS/ACCOUNT_ALREADY_EXISTS":"Account already exists","NOTIFICATIONS/ACCOUNT_DOES_NOT_EXIST":"Account doesn't exist","NOTIFICATIONS/MAIL_SERVER_ERROR":"An error has occured while accessing mail server","NOTIFICATIONS/INVALID_INPUT_ARGUMENT":"Invalid input argument","NOTIFICATIONS/UNKNOWN_ERROR":"Unknown error","STATIC/BACK_LINK":"Reload","STATIC/DOMAIN_LIST_DESC":"List of domains webmail is allowed to access.","STATIC/PHP_EXSTENSIONS_ERROR_DESC":"Required PHP extension are not available in your PHP configuration!","STATIC/PHP_VERSION_ERROR_DESC":"Your PHP version (%VERSION%) is lower than the minimal required 5.3.0!","STATIC/NO_SCRIPT_TITLE":"JavaScript is required for this application.","STATIC/NO_SCRIPT_DESC":"JavaScript support is not available in your browser.\nPlease enable JavaScript support in your browser settings and retry.","STATIC/NO_COOKIE_TITLE":"Cookies support is required for this application.","STATIC/NO_COOKIE_DESC":"Cookies support is not available in your browser.\nPlease enable Cookie support in your browser settings and retry.","STATIC/BAD_BROWSER_TITLE":"Your browser is outdated.","STATIC/BAD_BROWSER_DESC":"To use all the features of the application,\ndownload and install one of these browsers:"};window.moment && window.moment.locale && window.moment.locale('en'); \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/5b/1c/5b1c51ed23b96bde49c865e074352dc9b29808f0 b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/5b/1c/5b1c51ed23b96bde49c865e074352dc9b29808f0 new file mode 100644 index 00000000..2efb8672 --- /dev/null +++ b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/cache/5b/1c/5b1c51ed23b96bde49c865e074352dc9b29808f0 @@ -0,0 +1 @@ +window.rainloopTEMPLATES=[" \ No newline at end of file +
\ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/app/data/_data_/_default_/configs/application.ini b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/configs/application.ini index 96a3185d..5a977b34 100644 --- a/copper-server/kubernetes/copperclient/app/data/_data_/_default_/configs/application.ini +++ b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/configs/application.ini @@ -3,10 +3,10 @@ [webmail] ; Text displayed as page title -title = "RainLoop Webmail" +title = "Copper Webmail" ; Text displayed on startup -loading_description = "RainLoop" +loading_description = "COPPER" favicon_url = "" ; Theme used by default @@ -28,7 +28,7 @@ allow_additional_accounts = On allow_additional_identities = On ; Number of messages displayed on page by default -messages_per_page = 20 +messages_per_page = 30 ; File size limit (MB) for file upload on compose screen ; 0 for unlimited. @@ -57,12 +57,12 @@ welcome_page_display = "none" ; Enable contacts enable = On allow_sync = On -sync_interval = 20 +sync_interval = 30 type = "mysql" pdo_dsn = "mysql:host=172.19.0.19;port=3306;dbname=rainloop" pdo_user = "rainloop" pdo_password = "rainloop" -suggestions_limit = 30 +suggestions_limit = 05 [security] ; Enable CSRF protection (http://en.wikipedia.org/wiki/Cross-site_request_forgery) @@ -77,7 +77,7 @@ admin_password = "12345" ; Access settings allow_admin_panel = On -allow_two_factor_auth = On +allow_two_factor_auth = Off force_two_factor_auth = Off hide_x_mailer_header = Off admin_panel_host = "" @@ -122,7 +122,7 @@ default_domain = "copper.opensource.lk" allow_languages_on_login = On determine_user_language = On determine_user_domain = Off -welcome_page = Off +welcome_page = On hide_submit_button = On forgot_password_link_url = "" registration_link_url = "" @@ -154,7 +154,7 @@ view_use_checkboxes = On autologout = 30 show_images = Off contacts_autosave = On -mail_use_threads = On +mail_use_threads = Off allow_draft_autosave = On mail_reply_same_folder = Off @@ -174,7 +174,8 @@ write_on_timeout_only = 0 ; Required for development purposes only. ; Disabling this option is not recommended. hide_passwords = On -time_offset = "0" +#time_offset = "0" +time_offset = "1" session_filter = "" ; Log filename. @@ -352,4 +353,4 @@ dev_password = "" [version] current = "1.12.0" -saved = "Thu, 01 Nov 2018 04:47:57 +0000" \ No newline at end of file +saved = "Fri, 26 Oct 2018 10:29:57 +0000" \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/app/data/_data_/_default_/storage/data/__nobody__/ef/efaeb36a60ef9682802c6a704c2d784d b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/storage/data/__nobody__/ef/efaeb36a60ef9682802c6a704c2d784d index 2b172169..d71cd81b 100644 --- a/copper-server/kubernetes/copperclient/app/data/_data_/_default_/storage/data/__nobody__/ef/efaeb36a60ef9682802c6a704c2d784d +++ b/copper-server/kubernetes/copperclient/app/data/_data_/_default_/storage/data/__nobody__/ef/efaeb36a60ef9682802c6a704c2d784d @@ -1 +1 @@ -1542350901,1542267115,1542267115 \ No newline at end of file +1541995875,1541995875,1541995875 \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/app/rainloop/v/1.12.0/app/libraries/RainLoop/Actions.php b/copper-server/kubernetes/copperclient/app/rainloop/v/1.12.0/app/libraries/RainLoop/Actions.php index 57bc5e98..2ae8e10d 100755 --- a/copper-server/kubernetes/copperclient/app/rainloop/v/1.12.0/app/libraries/RainLoop/Actions.php +++ b/copper-server/kubernetes/copperclient/app/rainloop/v/1.12.0/app/libraries/RainLoop/Actions.php @@ -4662,8 +4662,7 @@ public function downloadRemotePackageByUrl($sUrl) $iCode = 0; $sContentType = ''; - // @\set_time_limit(120); - @\set_time_limit(10); + @\set_time_limit(120); $oHttp = \MailSo\Base\Http::SingletonInstance(); $bResult = $oHttp->SaveUrlToFile($sUrl, $pDest, $sTmp, $sContentType, $iCode, $this->Logger(), 60, diff --git a/copper-server/kubernetes/copperclient/config/copper.http.conf b/copper-server/kubernetes/copperclient/config/copper.http.conf new file mode 100755 index 00000000..5de42a9a --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/copper.http.conf @@ -0,0 +1,35 @@ + + + ServerName copper.opensource.lk + ServerAdmin admin@copper.opensource.lk + DocumentRoot /var/www/html/site + + + Options Indexes FollowSymLinks MultiViews + AllowOverride All + Order deny,allow + Allow from all + + + #SSLEngine on + #SSLCertificateFile /etc/ssl/certs/copper.opensource.lk.crt + #SSLCertificateKeyFile /etc/ssl/private/copper.opensource.lk.key + #SSLCertificateFile /etc/ssl/certs/cert.pem + #SSLCertificateKeyFile /etc/ssl/private/privkey.pem + + + #SSLEngine on + + # A self-signed (snakeoil) certificate can be created by installing + # the ssl-cert package. See + # /usr/share/doc/apache2/README.Debian.gz for more info. + # If both key and certificate are stored in the same file, only the + # SSLCertificateFile directive is needed. + #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem + #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + + diff --git a/copper-server/kubernetes/copperclient/config/copper.https.conf b/copper-server/kubernetes/copperclient/config/copper.https.conf new file mode 100755 index 00000000..cdf7474e --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/copper.https.conf @@ -0,0 +1,34 @@ + + + + ServerName copper.opensource.lk + ServerAdmin admin@copper.opensource.lk + DocumentRoot /var/www/html/site + + + Options Indexes FollowSymLinks MultiViews + AllowOverride All + Order deny,allow + Allow from all + + + SSLEngine on + SSLCertificateFile /etc/ssl/certs/cert.pem + SSLCertificateKeyFile /etc/ssl/private/privkey.pem + #SSLCertificateChainFile /etc/ssl/fullchain.pem + + #SSLEngine on + + # A self-signed (snakeoil) certificate can be created by installing + # the ssl-cert package. See + # /usr/share/doc/apache2/README.Debian.gz for more info. + # If both key and certificate are stored in the same file, only the + # SSLCertificateFile directive is needed. + #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem + #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + + \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/config/hosts b/copper-server/kubernetes/copperclient/config/hosts new file mode 100644 index 00000000..231f44f8 --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/hosts @@ -0,0 +1,8 @@ +127.0.0.1 copper.opensource.lk +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +172.17.0.2 e0148923d019 diff --git a/copper-server/kubernetes/copperclient/config/mods-available/proxy_html.conf b/copper-server/kubernetes/copperclient/config/mods-available/proxy_html.conf new file mode 100755 index 00000000..3c215e35 --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/mods-available/proxy_html.conf @@ -0,0 +1,62 @@ +# Configuration example. +# +# First, to load the module with its prerequisites +# +# For Unix-family systems: +# LoadFile /usr/lib/libxml2.so +# LoadModule proxy_html_module modules/mod_proxy_html.so +# +# For Windows (I don't know if there's a standard path for the libraries) +# LoadFile C:/path/zlib.dll +# LoadFile C:/path/iconv.dll +# LoadFile C:/path/libxml2.dll +# LoadModule proxy_html_module modules/mod_proxy_html.so +# +# All knowledge of HTML links has been removed from the mod_proxy_html +# code itself, and is instead read from httpd.conf (or included file) +# at server startup. So you MUST declare it. This will normally be +# at top level, but can also be used in a . +# +# Here's the declaration for W3C HTML 4.01 and XHTML 1.0 + +ProxyHTMLLinks a href +ProxyHTMLLinks area href +ProxyHTMLLinks link href +ProxyHTMLLinks img src longdesc usemap +ProxyHTMLLinks object classid codebase data usemap +ProxyHTMLLinks q cite +ProxyHTMLLinks blockquote cite +ProxyHTMLLinks ins cite +ProxyHTMLLinks del cite +ProxyHTMLLinks form action +ProxyHTMLLinks input src usemap +ProxyHTMLLinks head profile +ProxyHTMLLinks base href +ProxyHTMLLinks script src for + +# To support scripting events (with ProxyHTMLExtended On), +# you'll need to declare them too. + +ProxyHTMLEvents onclick ondblclick onmousedown onmouseup \ + onmouseover onmousemove onmouseout onkeypress \ + onkeydown onkeyup onfocus onblur onload \ + onunload onsubmit onreset onselect onchange + +# If you need to support legacy (pre-1998, aka "transitional") HTML or XHTML, +# you'll need to uncomment the following deprecated link attributes. +# Note that these are enabled in earlier mod_proxy_html versions +# +# ProxyHTMLLinks frame src longdesc +# ProxyHTMLLinks iframe src longdesc +# ProxyHTMLLinks body background +# ProxyHTMLLinks applet codebase +# +# If you're dealing with proprietary HTML variants, +# declare your own URL attributes here as required. +# +# ProxyHTMLLinks myelement myattr otherattr +# +# Also at top level in httpd.conf, you can declare charset aliases. +# This is the most efficient way to support encodings that libxml2 +# doesn't natively support. See the documentation at +# http://apache.webthing.com/mod_proxy_html/ \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/config/ports.conf b/copper-server/kubernetes/copperclient/config/ports.conf new file mode 100644 index 00000000..0a9fd928 --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/ports.conf @@ -0,0 +1,16 @@ +# If you just change the port or add more ports here, you will likely also +# have to change the VirtualHost statement in +# /etc/apache2/sites-enabled/000-default.conf + +Listen 89 +Listen 433 + + + Listen 443 + + + + Listen 443 + + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/copper-server/kubernetes/copperclient/config/scripts/index.html b/copper-server/kubernetes/copperclient/config/scripts/index.html new file mode 100644 index 00000000..102e4ae5 --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/scripts/index.html @@ -0,0 +1,6 @@ + + + +

Hellow World

+ + \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/config/scripts/init_letsencrypt.sh b/copper-server/kubernetes/copperclient/config/scripts/init_letsencrypt.sh new file mode 100755 index 00000000..210094e4 --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/scripts/init_letsencrypt.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# init only if lets-encrypt is running for the first time and if DOMAINS was set +if ([ ! -d $LETSENCRYPT_HOME ] || [ ! "$(ls -A $LETSENCRYPT_HOME)" ]) && [ ! -z "$DOMAINS" ]; then + /run_letsencrypt.sh --domains $DOMAINS +fi diff --git a/copper-server/kubernetes/copperclient/config/scripts/run_apache.sh b/copper-server/kubernetes/copperclient/config/scripts/run_apache.sh new file mode 100755 index 00000000..7f00f671 --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/scripts/run_apache.sh @@ -0,0 +1,22 @@ +#!/bin/bash +source /etc/apache2/envvars + +if [ -f /var/run/apache2/apache2.pid ]; then + apachePid=$(cat /var/run/apache2/apache2.pid) + echo "Found file 'apache2.pid' with pid $apachePid. Let's check if there is a process belonging to it!" + processName=$(ps -p $apachePid -o comm) + + if [ "$processName" != "apache2" ] && [ "$processName" != "/usr/sbin/apache2 -D FOREGROUND" ]; then + echo "The found apache.pid is not belonging to an apache-process. I'm going to remove the pid-file." + rm -f /var/run/apache2/apache2.pid + echo "Removing of pid-file was successfull." + + echo "For cleaning-reasons I'm also killing all apache-processes." + killall -9 apache2 + echo "Now this is a safe place again. Enjoy." + else + echo "The pid-file is belonging to an apache-process, so it will stay alive." + fi +fi + +exec /usr/sbin/apache2 -D FOREGROUND diff --git a/copper-server/kubernetes/copperclient/config/scripts/run_letsencrypt.sh b/copper-server/kubernetes/copperclient/config/scripts/run_letsencrypt.sh new file mode 100755 index 00000000..082e832f --- /dev/null +++ b/copper-server/kubernetes/copperclient/config/scripts/run_letsencrypt.sh @@ -0,0 +1,8 @@ +#!/bin/bash +if (! [ -z "$STAGING" ]) then + echo "Using Let's Encrypt Staging environment..." + certbot -n --staging --expand --apache --agree-tos --email $WEBMASTER_MAIL "$@" +else + echo "Using Let's Encrypt Production environment..." + certbot -n --expand --apache --agree-tos --email $WEBMASTER_MAIL "$@" +fi diff --git a/copper-server/kubernetes/copperclient/fqdn b/copper-server/kubernetes/copperclient/fqdn deleted file mode 100644 index 8c55489d..00000000 --- a/copper-server/kubernetes/copperclient/fqdn +++ /dev/null @@ -1 +0,0 @@ -ServerName localhost \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/hosts b/copper-server/kubernetes/copperclient/hosts deleted file mode 100644 index 8349ae74..00000000 --- a/copper-server/kubernetes/copperclient/hosts +++ /dev/null @@ -1,2 +0,0 @@ -127.0.0.1 localhost -127.0.1.1 myhostname \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/servername.conf b/copper-server/kubernetes/copperclient/servername.conf deleted file mode 100644 index 8c55489d..00000000 --- a/copper-server/kubernetes/copperclient/servername.conf +++ /dev/null @@ -1 +0,0 @@ -ServerName localhost \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/tls/cert.pem b/copper-server/kubernetes/copperclient/tls/cert.pem new file mode 100644 index 00000000..9350617e --- /dev/null +++ b/copper-server/kubernetes/copperclient/tls/cert.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC/DCCAoGgAwIBAgIUMrbRDCxW+OcheKXnBSASL9ZC5ZswCgYIKoZIzj0EAwMw +gZYxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxBMUEgQ2FyIFdhc2gxJDAiBgNVBAsT +G0luZm9ybWF0aW9uIFRlY2hub2xvZ3kgRGVwLjEUMBIGA1UEBxMLQWxidXF1ZXJx +dWUxEzARBgNVBAgTCk5ldyBNZXhpY28xHzAdBgNVBAMTFmRvY2tlci1saWdodC1i +YXNlaW1hZ2UwHhcNMTkwMTI4MTAwODAwWhcNMjAwMTI4MTAwODAwWjCBizELMAkG +A1UEBhMCVVMxEzARBgNVBAgTCk5ldyBNZXhpY28xFDASBgNVBAcTC0FsYnVxdWVy +cXVlMRUwEwYDVQQKEwxBMUEgQ2FyIFdhc2gxJDAiBgNVBAsTG0luZm9ybWF0aW9u +IFRlY2hub2xvZ3kgRGVwLjEUMBIGA1UEAxMLY29wcGVyLWxkYXAwdjAQBgcqhkjO +PQIBBgUrgQQAIgNiAATE9+9lV1vBM8mCRlDfB9kLk6cxRMzqPWEBuwSj/eJygqia +xizuCGNZD1/Y3+jleRwnLEJPedJ3g6MojkkRnup6EWA9TwUlWKpFhDuHV/1BWbph +XEljElFyUTTXG/Pmka6jgZgwgZUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQG +CCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRnxpNY +XMTzkRuVBfXGQRY6XKKqnDAfBgNVHSMEGDAWgBRPpel6JVwwGJxi05eFulCyh65u ++DAWBgNVHREEDzANggtjb3BwZXItbGRhcDAKBggqhkjOPQQDAwNpADBmAjEA7zCS +4Kc4RANhxxUv/F/Ub1CGcLJffCDOQyZWwkwmMgYeZXDcDZ8vBuWRgKPdP1cPAjEA +0AyrmbnoAoxOhFCmUHXcFH3m7sT7zHKLYuw/mW593Bc8zl3SbTr7NyQJOoH9bCgt +-----END CERTIFICATE----- diff --git a/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.crt b/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.crt new file mode 100644 index 00000000..b8902a4a --- /dev/null +++ b/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrDCCApQCCQDfEepge8KFKDANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UEBhMC +TEsxCzAJBgNVBAgMAldQMRAwDgYDVQQHDAdDb2xvbWJvMQwwCgYDVQQKDANMU0Yx +DzANBgNVBAsMBmNvcHBlcjEdMBsGA1UEAwwUY29wcGVyLm9wZW5zb3VyY2UubGsx +KzApBgkqhkiG9w0BCQEWHHN1cHBvcnRAY29wcGVyLm9wZW5zb3VyY2UubGswHhcN +MTkwMjA0MTA0MDA2WhcNMjAwMjA0MTA0MDA2WjCBlzELMAkGA1UEBhMCTEsxCzAJ +BgNVBAgMAldQMRAwDgYDVQQHDAdDb2xvbWJvMQwwCgYDVQQKDANMU0YxDzANBgNV +BAsMBmNvcHBlcjEdMBsGA1UEAwwUY29wcGVyLm9wZW5zb3VyY2UubGsxKzApBgkq +hkiG9w0BCQEWHHN1cHBvcnRAY29wcGVyLm9wZW5zb3VyY2UubGswggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpZW8rW8C5t3nVYijHZS6Y88iBVuibQFDj +dDVzCQm3HjvA3M3lJnA8hos0Rb0XBOYaz5QxMkhrK7aSslm3yfUuXWDAzjCXtdoc +4d2+tQPKOWA2oCsx2s+XkzM9Dx1oYirobUrZnu/jMoYyu3JCFP+uEkq+FqAKC0E4 +GMgBGJMWsxHH1PBFBdNZmlhA7uuV784PUeZVFIub11AYbLPQ194cCbMG8R2J8Pvn +soFVkR9ErKvzsEKQ0NVwX+ryf1wIDJkGQLOC/p7+PRYfQ7LCBlertxV5MFWA4NXf +t1BI2AzRzzq+1cnNGSnheeKGXeHpiO2BHctCd7UpjB85EQhLeU+DAgMBAAEwDQYJ +KoZIhvcNAQEFBQADggEBAEg9Xh/ojqtPzjBPsh3WROglaRtNX2MDUBcaG+EcW2gX +Nz4ah2iD8BxjpkY8c7NI2xGofFuRnl02UZ0sH++qXCz+fyKU55c9i7S2vNai4L67 +rVaINYFPcnhlXALXm+PWa/+wwK43vjNUgHc7Y0EW76AacUyC+/IXtcPIy0csDz8z +9p/kPcDEmOD65WJGDmuRY0jfwwzymsT9gEtnZcVsRZcYVuwoScf8usJczyffLC1O +ZuI4Lfm50Giinqo/K779Y8wr7PC9uxY4lJzA/DjLJ1W43kkAOjmTIM8WArBL4Rqz +hNUl8tjT7R7OTSWGk3uisvATo4I0R78k+HfxW3P2d/I= +-----END CERTIFICATE----- diff --git a/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.csr b/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.csr new file mode 100644 index 00000000..5825dfa8 --- /dev/null +++ b/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.csr @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIC9DCCAdwCAQAwgZcxCzAJBgNVBAYTAkxLMQswCQYDVQQIDAJXUDEQMA4GA1UE +BwwHQ29sb21ibzEMMAoGA1UECgwDTFNGMQ8wDQYDVQQLDAZjb3BwZXIxHTAbBgNV +BAMMFGNvcHBlci5vcGVuc291cmNlLmxrMSswKQYJKoZIhvcNAQkBFhxzdXBwb3J0 +QGNvcHBlci5vcGVuc291cmNlLmxrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAqWVvK1vAubd51WIox2UumPPIgVbom0BQ43Q1cwkJtx47wNzN5SZwPIaL +NEW9FwTmGs+UMTJIayu2krJZt8n1Ll1gwM4wl7XaHOHdvrUDyjlgNqArMdrPl5Mz +PQ8daGIq6G1K2Z7v4zKGMrtyQhT/rhJKvhagCgtBOBjIARiTFrMRx9TwRQXTWZpY +QO7rle/OD1HmVRSLm9dQGGyz0NfeHAmzBvEdifD757KBVZEfRKyr87BCkNDVcF/q +8n9cCAyZBkCzgv6e/j0WH0OywgZXq7cVeTBVgODV37dQSNgM0c86vtXJzRkp4Xni +hl3h6YjtgR3LQne1KYwfOREIS3lPgwIDAQABoBcwFQYJKoZIhvcNAQkHMQgMBmNv +cHBlcjANBgkqhkiG9w0BAQsFAAOCAQEAdhb2M0A7T6lkXWp+tqLsAqRTQyNrUmb2 +PuGVws7N3TKsz5Jg3byqo9CgX8RirLOb558NpYNALbmL7/GGWkHrv5nRuk1mHcE8 +KvLFNFef5Cl6TIj7VRLjbwJc3ZfaFh3LPBLHxgFT4+sVTXuGNn+eQymIkEQ6Lhrf +uiN3ceGiDBTxEYQPqsD2hWofkHBqf//NySnnU3vHm3uQhltoZKg+fMsKSpqHSBfK +tIIySHJQ0odMrMRB312dG2NP/DZPPm1L4g9wRvE3hqX9FuYXRlg0SChIG0yPUHPt +JRD7N+WvNi1Y2iNBhhLjOrStsHZXStMi2padrqY2dLBmRRHq11bqZw== +-----END CERTIFICATE REQUEST----- diff --git a/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.key b/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.key new file mode 100644 index 00000000..1ba6fb47 --- /dev/null +++ b/copper-server/kubernetes/copperclient/tls/copper.opensource.lk.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpZW8rW8C5t3nV +YijHZS6Y88iBVuibQFDjdDVzCQm3HjvA3M3lJnA8hos0Rb0XBOYaz5QxMkhrK7aS +slm3yfUuXWDAzjCXtdoc4d2+tQPKOWA2oCsx2s+XkzM9Dx1oYirobUrZnu/jMoYy +u3JCFP+uEkq+FqAKC0E4GMgBGJMWsxHH1PBFBdNZmlhA7uuV784PUeZVFIub11AY +bLPQ194cCbMG8R2J8PvnsoFVkR9ErKvzsEKQ0NVwX+ryf1wIDJkGQLOC/p7+PRYf +Q7LCBlertxV5MFWA4NXft1BI2AzRzzq+1cnNGSnheeKGXeHpiO2BHctCd7UpjB85 +EQhLeU+DAgMBAAECggEAKWJhnXsmA3lCp5H6mnQqxS1Rv9+Gpl85I8iBQmBj4jvd +p0mKd8BDTVYlbhjXkGce/E/YSYiaTqx4RzCRYKhTYQdpGtGE55uC9Oltbij1CxOn +YNESnHRzoPlSXEl0Csto5i3FSpNc0enHBV/sEx7kNBe98ODAKpQDU/wh6LqjPLkP +D5e18L+AdUQyjsBHXoXLhhWNZJz8YjHkZHsT2KVFXltJXBxnkdsn9xIqRqk6/s/k +EAZusTUyz9kmQKNAZdNIJdP3rs5W8YQTvmTI0cNDXQH4bCOWpojFLMdcI+0dAnyR +CpIagrTJyB7epgvU1OaSaj6Ueil5KLrdPshOSYxUoQKBgQDQnr6m3Hq78LFnksF+ +p8EQlz7LhRqWteK9ZHElAXdmZMf5QQxl535b/W4rqlPvUMw4CaQsIXkvw0pu5tVy +6x3IyirK+4z5lcQvLr3HpIYBKGzE/HDr7cz10Ih8l4zubJrKn5bSHVLwR86s1PN7 +1qZFGnJydmVeS+JGQEa1Q6B2cQKBgQDP3jK9GPV+t+7f+QI0jmv6LmVkfLMX6Urr +mJHpyrz2vQze3HUqyIGHfwrlhlgiYJZ9WV7qS4dbqYj0n0AL+9tSwFAVirB4j61P +VxmjMBx39SBurDwhSUgZmE/ku3VYwvidWk6afV9HrAu1A8yfA9E5iUUFi+iWPjiA +enPOhB6nMwKBgHVHuPB/ZHRBhMowQ50bW7si+8dYZbEyQWytibn/EAu9PnqOqhSj +xnKaj5P2pkcUiio6qVOx4boLNM4R8Q8wxEa7+MCyF/e7zVWlFkWk5TzDaBp5vFW2 +ExJiEEjSvgTPg1nDy/sFRzoTdEnPUa5d5o1Up+BXVPdk+6j4u4dtpEjRAoGAWuzL +7vFK+VoFkE0AzPJ7gtzmlxUA1fXDQtjjAowfKiK5zYZLbiJ0nktQ/eNNDASJ71y3 +au8Mz2iSMsayIkvRvRnILhQTazkVyz3DRiGWYlaEEEUgrEK82g1I7Tmec+wdCd9l +wKgUlGpKWKzHxcrKq0tDONDhNU8UMgbePziFnAcCgYBQQoSnlcP5LyDsmbOyMfWr +dEXTEPsMdpGi5GvITwt+nzHUzkJywYdC6OUzMLQnwGzISYdgf6EIyfDO3Etvdhwy +imL2zIKucE/vyA2YrPCqfwuThKugH9cw7RwmSp/VjCdJ5zLZGdLFxRAeUOLWxGb3 +4XRO3uV2NGcyBiiDdR6lLg== +-----END PRIVATE KEY----- diff --git a/copper-server/kubernetes/copperclient/tls/dhparam.pem b/copper-server/kubernetes/copperclient/tls/dhparam.pem new file mode 100644 index 00000000..e42dfcbc --- /dev/null +++ b/copper-server/kubernetes/copperclient/tls/dhparam.pem @@ -0,0 +1,8 @@ +-----BEGIN DH PARAMETERS----- +MIIBCAKCAQEA+Dr8kl3/j/hE6Ha+lUTANnMpBcGNd+6Jv+Et59EyKUntcf1ZOk5L +znO5FLTCSTvgDrodZo3nlHcuUtCnhPqC3S72/0RI5hFoTM1ke7rSidsSVah3fxzN +uDI97/ex3My5Bqnhtp+X4zBGtIywRm9qPSBavMG+ljuCVHcPyZ1yqrmudvVlPvBm +KpF35HZZfA7LQDp30RJQg+PGUZdUDZ/I6/FksZ4ADJqex7IYpo27Vs7EpvZj0Nkj +OGZylrq8hrnGptvzRXwB80lotYulCnUVJKZNEyS+gmudEE26tdRrcP3BtJEqsvcD +kdFwN4xqCzpkTkBeIh2KfUrVzCaO7bgs2wIBAg== +-----END DH PARAMETERS----- diff --git a/copper-server/kubernetes/copperclient/tls/fullchain.pem b/copper-server/kubernetes/copperclient/tls/fullchain.pem new file mode 120000 index 00000000..cf7a60f4 --- /dev/null +++ b/copper-server/kubernetes/copperclient/tls/fullchain.pem @@ -0,0 +1 @@ +/container/service/:ssl-tools/assets/default-ca/default-ca.pem \ No newline at end of file diff --git a/copper-server/kubernetes/copperclient/tls/privkey.pem b/copper-server/kubernetes/copperclient/tls/privkey.pem new file mode 100644 index 00000000..25c9b934 --- /dev/null +++ b/copper-server/kubernetes/copperclient/tls/privkey.pem @@ -0,0 +1,6 @@ +-----BEGIN EC PRIVATE KEY----- +MIGkAgEBBDDiIBWzmLHbe2oIrhkIfsDKnuuxH4QOXuwoTqf/XnSvRzpSNX6z03ac +HWggYiO4OGugBwYFK4EEACKhZANiAATE9+9lV1vBM8mCRlDfB9kLk6cxRMzqPWEB +uwSj/eJygqiaxizuCGNZD1/Y3+jleRwnLEJPedJ3g6MojkkRnup6EWA9TwUlWKpF +hDuHV/1BWbphXEljElFyUTTXG/Pmka4= +-----END EC PRIVATE KEY----- diff --git a/copper-server/kubernetes/copperclient/webmail.yaml b/copper-server/kubernetes/copperclient/webmail.yaml index 36f442c5..07f635e9 100644 --- a/copper-server/kubernetes/copperclient/webmail.yaml +++ b/copper-server/kubernetes/copperclient/webmail.yaml @@ -8,12 +8,29 @@ spec: selector: app: webmail ports: - - protocol: "TCP" - port: 80 - #targetPort: 80 - targetPort: http + #- protocol: "TCP" + # port: 443 + #- protocol: TCP + # port: 80 + # targetPort: 80 + # name: http + - protocol: TCP + port: 443 + targetPort: 443 + name: https + - protocol: TCP + port: 433 + targetPort: 433 + name: http + #- protocol: TCP + # port: 587 + # targetPort: 587 + # name: submission + # port: 433 + # targetPort: 433 + #targetPort: http #clusterIP: None - name: webmail + #name: webmail #nodePort: 30080 #type: NodePort --- @@ -36,17 +53,26 @@ spec: image: webmail imagePullPolicy: Never ports: - - name: http - containerPort: 80 + #- name: http + #containerPort: 80 + - name: https + containerPort: 443 + - name: httpse + containerPort: 433 + #- name: submission + # containerPort: 587 - name: health containerPort: 81 resources: limits: cpu: "1" - memory: 2Gi + #memory: 2Gi + memory: 1Gi + #memory: 512Mi requests: cpu: 200m memory: 1Gi + #memory: 256Mi #dnsPolicy: ClusterFirst # errors with this version #restartPolicy: Never # errors with this version #resources: diff --git a/copper-server/kubernetes/deployment/DB-undiploy.sh b/copper-server/kubernetes/deployment/DB-undiploy.sh new file mode 100644 index 00000000..bfe5fa68 --- /dev/null +++ b/copper-server/kubernetes/deployment/DB-undiploy.sh @@ -0,0 +1,127 @@ +#!/bin/bash + +# ------------------------------------------------------------------------ +# (http://opensource.lk) +# +# + +# ------------------------------------------------------------------------ + +# methods + +set -e + +ECHO=`which echo` +KUBECTL=`which kubectl` + +# method to print bold +function echoBold () { + ${ECHO} $'\e[1m'"${1}"$'\e[0m' +} + +# method to print red bold fonts +function echoRedBold () { + # .---------- constant part! + # vvvv vvvv-- the code from above + RED='\033[0;31m' + NC='\033[0m' # No Color + BD='\e[1m' # bold + NM='\e[0m' # normal size + RDBD='\033[0;31m\e[1m' # red and bold + RDNM='\e[0m\033[0m' # normal color and normal size + #printf "* ${BD}${RED}-${1} ${NC}${NM}\n" + #${ECHO} ${RED}${1} + printf "* ${RDBD}-${1} ${RDNM}\n" + +} + +# method to print red bold fonts +function echoGreenBold () { + # .---------- constant part! + # vvvv vvvv-- the code from above + RED='\033[0;32m' # green + NC='\033[0m' # No Color + BD='\e[1m' # bold + NM='\e[0m' # normal size + RDBD='\033[0;32m\e[1m' # green and bold + RDNM='\e[0m\033[0m' # normal color and normal size + #printf "* ${BD}${RED}-${1} ${NC}${NM}\n" + #${ECHO} ${RED}${1} + printf "* ${RDBD}-${1} ${RDNM}\n" + +} + +# Creating The Banner +#Colours +red="\033[00;31m" +RED="\033[01;31m" + +green="\033[00;32m" +GREEN="\033[01;32m" + +brown="\033[00;33m" +YELLOW="\033[01;33m" + +blue="\033[00;34m" +BLUE="\033[01;34m" + +purple="\033[00;35m" +PURPLE="\033[01;35m" + +cyan="\033[00;36m" +CYAN="\033[01;36m" + +white="\033[00;37m" +WHITE="\033[01;37m" + +WHITECHAR="\033[01;39m" + +NC="\033[00m" +BOLD="\e[1m" +NRM="\e[0m" + +echo "${RED}******************************************************************************" +echo "${WHITE}** **" +echo "${WHITECHAR}** COPPER EMAIL SOLUTION **" +echo "${WHITE}** Please share your experinace with us **" +echo "${WHITE}** Email : support@copper.opensource.lk **" +echo "${RED}******************************************************************************" +echo + +echoRedBold ' !!!!!!!! -Undeploying Copper Database server - You will lost your data permanantly - !!!!!!!! ' + + + +read -r -p "Are you sure? [y/N] " response +case "$response" in + [yY][eE][sS]|[yY]) + +# 2> /dev/null || true // statement is used to ignore and go ahead when a error received +# 2> true + +## delete the mysql deployment +kubectl delete deployment,svc mysql --namespace=monitoring 2> /dev/null || true + +echoRedBold 'mysql deployment deleted...' +# Persistent Volume Claim deletion +kubectl delete PersistentVolumeClaim mysql-pv-claim --namespace=monitoring 2> /dev/null || true + +echoRedBold 'Persistent Volume Claim deleted...' +# Persistent Volume delete +kubectl delete service email --namespace=monitoring 2> /dev/null || true + +echoRedBold 'Email service deleted...' +# If you want to delete webmail service use following commands. +kubectl delete service webmail --namespace=monitoring 2> /dev/null || true + +echoRedBold 'Persistent Volume deleted...' + + + +echoGreenBold 'Whole data removed Cant be recovered. \n Finished' + + ;; + *) + echoRedBold "Undeploying cancelled" + ;; +esac \ No newline at end of file diff --git a/copper-server/kubernetes/deployment/README.md b/copper-server/kubernetes/deployment/README.md index 7cf86ac6..bee2112b 100644 --- a/copper-server/kubernetes/deployment/README.md +++ b/copper-server/kubernetes/deployment/README.md @@ -66,7 +66,9 @@ Please update emailserver/configs/.env file before the deployment. Then login to the web client and test your email service - URL :http://localhost + URL :https://localhost/ + + If you are accessing the email solution host machine from a remote machine you has to replace host machine ip for localhost. -Username : test -Password : coppermail@lsf diff --git a/copper-server/kubernetes/deployment/deploy.sh b/copper-server/kubernetes/deployment/deploy.sh index fb26879f..25afd7d1 100644 --- a/copper-server/kubernetes/deployment/deploy.sh +++ b/copper-server/kubernetes/deployment/deploy.sh @@ -181,25 +181,37 @@ cd .. kubectl create -f emailserver/email.yaml 2> /dev/null || true echoGreenBold 'email service created...' #Building docker image -cd copperclient + +# Create the persistent volume and persistent volume claim for database +kubectl create -f persistent/mysql-pv.yaml 2> /dev/null || true +echoGreenBold 'Persistent Volume created...' +# Create mysql deployment +kubectl create -f persistent/mysql-deployment.yaml 2> /dev/null || true +echoGreenBold 'mysql deployment completed...' + + #Build the docker image -docker build -t webmail . 2> /dev/null || true -echoGreenBold 'Docker webmail image created...' +#cd copperclient +#docker build -t webmail . 2> /dev/null || true +#echoGreenBold 'Docker webmail image created...' # wait 1 seconds -sleep 1s -cd .. +#sleep 1s +#cd .. #Buld the kubernetes pod -Kubectl create -f copperclient/webmail.yaml 2> /dev/null || true -echoGreenBold 'Docker webclient service created...' +#Kubectl create -f copperclient/webmail.yaml 2> /dev/null || true +#echoGreenBold 'Docker webclient service created...' + #Prometheus implementation # Creating a roll has the access for clusters and bind the cluster roll. kubectl create -f prometheus-alert/clusterRole.yaml 2> /dev/null || true echoGreenBold 'Role creation and Role binding...' + # Create the config map to keep configuration data of prometheus kubectl create -f prometheus-alert/config-map.yaml -n monitoring 2> /dev/null || true echoGreenBold 'Prometheus configuration created...' + # Deploy prometheus pods kubectl create -f prometheus-alert/prometheus-deployment.yaml --namespace=monitoring 2> /dev/null || true @@ -218,6 +230,12 @@ kubectl create -f prometheus-alert/Deployment.yaml 2> /dev/null || true kubectl create -f prometheus-alert/Service.yaml 2> /dev/null || true echoGreenBold 'Alert Manager created...' +# horde deployment +cd ./groupware/horde +docker build -t horde . 2> /dev/null || true +cd .. +cd .. +kubectl create -f groupware/horde/horde.yaml 2> /dev/null || true # wait 1 seconds sleep 1s diff --git a/copper-server/kubernetes/deployment/undeploy.sh b/copper-server/kubernetes/deployment/undeploy.sh index 20a570db..efd103a9 100644 --- a/copper-server/kubernetes/deployment/undeploy.sh +++ b/copper-server/kubernetes/deployment/undeploy.sh @@ -84,6 +84,7 @@ echo "${RED}******************************************************************* echo "${WHITE}** **" echo "${WHITECHAR}** COPPER EMAIL SOLUTION **" echo "${WHITE}** Please share your experinace with us **" +echo "${WHITE}** Email : support@copper.opensource.lk **" echo "${RED}******************************************************************************" echo @@ -102,34 +103,49 @@ case "$response" in kubectl delete service ldap-service --namespace=monitoring 2> /dev/null || true kubectl delete deployment ldap --namespace=monitoring 2> /dev/null || true echoRedBold 'Ldap service deleted...' + # Then if you want to delete services created by above command kubectl delete service phpldapadmin-service --namespace=monitoring 2> /dev/null || true kubectl delete replicationcontrollers phpldapadmin-controller --namespace=monitoring 2> /dev/null || true echoRedBold 'phpldapadmin service deleted...' + # If you want to delete emai service use following commands. kubectl delete service email --namespace=monitoring 2> /dev/null || true kubectl delete deployment email --namespace=monitoring 2> /dev/null || true echoRedBold 'Email service deleted...' +# If you want to delete webmail service use following commands. +#kubectl delete service webmail --namespace=monitoring 2> /dev/null || true +#kubectl delete deployment webmail --namespace=monitoring 2> /dev/null || true +#docker rmi webmail 2> /dev/null || true +#echoRedBold 'Webmail service deleted...' + #deleting services kubectl delete services alertmanager --namespace=monitoring 2> /dev/null || true kubectl delete services prometheus-service --namespace=monitoring 2> /dev/null || true echoRedBold 'Alert service deleted...' + #deleting configmaps kubectl delete configmap alertmanager-config --namespace=monitoring 2> /dev/null || true kubectl delete configmap alertmanager-templates --namespace=monitoring 2> /dev/null || true kubectl delete configmap prometheus-server-conf --namespace=monitoring 2> /dev/null || true echoRedBold 'Alert configuration deleted...' + #deleting cluster roll kubectl delete clusterroles prometheus 2> /dev/null || true kubectl delete clusterrolebindings prometheus 2> /dev/null || true echoRedBold 'Prometheus Role deleted...' + #deleting deployments kubectl delete deployment alertmanager --namespace=monitoring 2> /dev/null || true kubectl delete deployment prometheus-deployment --namespace=monitoring 2> /dev/null || true echoRedBold 'Prometheus deployment deleted...' +# deleting horde +kubectl delete service horde -n monitoring 2> /dev/null || true +kubectl delete deployment horde -n monitoring 2> /dev/null || true +docker rmi horde 2> /dev/null || true ## deleting namespace kubectl delete namespace monitoring 2> /dev/null || true diff --git a/copper-server/kubernetes/emailserver/email.yaml b/copper-server/kubernetes/emailserver/email.yaml index 60dde310..d8f29ebc 100755 --- a/copper-server/kubernetes/emailserver/email.yaml +++ b/copper-server/kubernetes/emailserver/email.yaml @@ -54,11 +54,13 @@ spec: #image: "udacity/example-auth:1.0.0" image: "emailserver" imagePullPolicy: Never - ports: - - name: tcp - containerPort: 25 - - name: health - containerPort: 25 + #ports: + # - name: tcp + # containerPort: 25 + # - name: submission + # containerPort: 587 + # - name: health + # containerPort: 25 resources: limits: cpu: 0.5 diff --git a/copper-server/kubernetes/groupware/horde/.env b/copper-server/kubernetes/groupware/horde/.env new file mode 100644 index 00000000..fa1b2158 --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/.env @@ -0,0 +1,38 @@ +# Copper Base main configuration file +# +# Most configuration variables can be modified through the Web interface, +# these few settings must however be configured before starting the mail +# server and require a restart upon change. +######################################################################### +# Copper Group wher configuration +########################################################################## +# admin email account +EMAIL=support@copper.opensource.lk + + +# mail server name with FQDN +FQDN=mail.copper.opensource.lk + +# Domain name +DOMAIN=copper.opensource.lk + + +# root account +MYSQL_ENV_MYSQL_ROOT_USERNAME=horde +MYSQL_ENV_MYSQL_ROOT_PASSWORD=horde + +DB_NAME=horde +DB_USER=root +DB_PASS=password +#ENV DB_PROTOCOL unix +#ENV DB_PROTOCOL tcp +DB_PROTOCOL=TCP +DB_HOST=mysql +MYSQL_PORT_3306_TCP_ADDR=mysql +MYSQL_PORT_3306_TCP_PORT=3306 +DB_PORT=3306 +DB_DRIVER=mysqli +HORDE_TEST_DISABLE=false + + + diff --git a/copper-server/kubernetes/groupware/horde/Dockerfile b/copper-server/kubernetes/groupware/horde/Dockerfile new file mode 100755 index 00000000..fa1021a0 --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/Dockerfile @@ -0,0 +1,107 @@ +FROM ubuntu +ARG DEBIAN_FRONTEND=noninteractive +LABEL KEY=LSF-COPPER-HORDE + +#ENV HOME /root + + + +RUN apt-get -y update +RUN apt-get -y upgrade +RUN apt-get -y install telnet +RUN apt-get -y install nano +# installing php7 in ubuntu 18.04 + +# installing php +RUN apt-get -y install php + + +RUN apt-get -y install apache2 libapache2-mod-php mysql-client gnupg2 openssl php-pear +# install php 7.2 modules +RUN apt-get -y install php-pear php-fpm php-dev php-zip php-curl php-xmlrpc php-gd php-mysql php-mbstring php-xml libapache2-mod-php + + +# https://www.ctrl.blog/entry/how-to-debian-horde-webmail +# https://www.ctrl.blog/entry/how-to-debian-horde-webmail +# how to connect with ldap srver samba active directory +# https://community.nethserver.org/t/installing-horde-groupware/7292 +# php installation +# https://thishosting.rocks/install-php-on-ubuntu/ +#RUN apt-get install -y php-horde-webmail mysql-client + +#RUN apt-get -y install php-horde +RUN apt-get -y install php-horde-webmail +#RUN apt-get install php-pecl-imagick aspell-en +#RUN apt-get install php-horde-horde php-pecl-imagick aspell-en + +RUN mkdir /var/lib/horde/ +RUN chown www-data:www-data /var/lib/horde/ +RUN cp /etc/horde/horde/conf.php.dist /etc/horde/horde/conf.php +RUN chown www-data:www-data /etc/horde/horde/conf.php +RUN touch /etc/horde/imp/conf.php /etc/horde/turba/conf.php +RUN chown www-data:www-data /etc/horde/imp/conf.php /etc/horde/turba/conf.php +RUN cp /etc/horde/imp/backends.php /etc/horde/imp/backends.local.php + +# Add other configurations also +#ADD ./webmail/horde-webmail/config/conf.php /usr/share/horde/config/conf.php + ADD ./config/conf.php /usr/share/horde/config/conf.php + RUN chown www-data:www-data /usr/share/horde/config/conf.php + +# coppying ingo mail Filter application + ADD ./config/ingo/conf.php /usr/share/horde/ingo/config/conf.php + RUN chown www-data:www-data /usr/share/horde/ingo/config/conf.php +# configuration file hosting solution + ADD ./config/gollem/conf.php /usr/share/horde/gollem/config/conf.php + RUN chown www-data:www-data /usr/share/horde/gollem/config/conf.php +# Configuring turba contact mangement + ADD ./config/turba/conf.php /usr/share/horde/turba/config/conf.php + RUN chown www-data:www-data /usr/share/horde/turba/config/conf.php +# Configuring Todo/Reminder plugin + ADD ./config/nag/conf.php /usr/share/horde/nag/config/conf.php + RUN chown www-data:www-data /usr/share/horde/nag/config/conf.php +# Configure Kronolith calender + ADD ./config/kronolith/conf.php /usr/share/horde/kronolith/config/conf.php + RUN chown www-data:www-data /usr/share/horde/kronolith/config/conf.php +# Configure mnemo Notebook + ADD ./config/mnemo/conf.php /usr/share/horde/mnemo/config/conf.php + RUN chown www-data:www-data /usr/share/horde/mnemo/config/conf.php +# Configure imp webmail + ADD ./config/imp/conf.php /usr/share/horde/imp/config/conf.php + RUN chown www-data:www-data /usr/share/horde/imp/config/conf.php +# Configure trean web book mark + ADD ./config/trean/conf.php /usr/share/horde/trean/config/conf.php + RUN chown www-data:www-data /usr/share/horde/trean/config/conf.php + + + + #RUN chown www-data:www-data /etc/horde/imp/conf.php /etc/horde/turba/conf.php + #RUN chown www-data:www-data /etc/horde/imp/conf.php /etc/horde/turba/conf.php + #RUN chown www-data:www-data /etc/horde/imp/conf.php /etc/horde/turba/conf.php + +# coppying conf.php for horde active directory + + #ADD ./config/conf.php /etc/horde/horde/conf.php + ADD ./config/backends.local.php /etc/horde/imp/backends.local.php + +#ADD ./webmail/horde-webmail/config/conf.php /usr/share/horde/config/conf.php +#RUN chown www-data:www-data /usr/share/horde/config/conf.php + +ADD ./apache-horde.conf /etc/apache2/sites-enabled/apache-horde.conf + +# horde database migration through a sh file +ADD ./horde-init.sh /etc/my_init.d/horde-init.sh +RUN chmod +x /etc/my_init.d/horde-init.sh + +RUN mkdir -p /etc/service/apache2 +ADD ./run.sh /etc/service/apache2/run + + +# Horde database migration +#RUN /usr/bin/horde-db-migrate + + +RUN chmod +x /etc/service/apache2/run + +#CMD service apache2 start +CMD ["/etc/service/apache2/run"] +#CMD ["/sbin/my_init"] diff --git a/copper-server/kubernetes/groupware/horde/Dockerfile-anushka b/copper-server/kubernetes/groupware/horde/Dockerfile-anushka new file mode 100755 index 00000000..d30481df --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/Dockerfile-anushka @@ -0,0 +1,55 @@ +FROM ubuntu:18.04 +MAINTAINER Lanka Software Foundation +ARG DEBIAN_FRONTEND=noninteractive +LABEL KEY=LSF-COPPER-HORDE + +#ENV HOME /root + +# root account +# ENV MYSQL_ENV_MYSQL_ROOT_USERNAME horde +# ENV MYSQL_ENV_MYSQL_ROOT_PASSWORD horde + +# ENV DB_NAME horde +# ENV DB_USER horde +# ENV DB_PASS horde +# #ENV DB_PROTOCOL unix +# #ENV DB_PROTOCOL tcp +# ENV DB_PROTOCOL TCP +# ENV DB_HOST 172.19.0.19 +# ENV MYSQL_PORT_3306_TCP_ADDR 172.19.0.19 +# ENV MYSQL_PORT_3306_TCP_PORT 3306 +# ENV DB_PORT 3306 +# ENV DB_DRIVER mysqli +# ENV HORDE_TEST_DISABLE true + +EXPOSE 80 + +RUN apt-get update +RUN apt-get -y upgrade +RUN apt-get -y install nano +# RUN apt-get -y install apache2 libapache2-mod-php mysql-client gnupg2 openssl php-pear +# RUN apt-get -y install apache2 +RUN apt-get -y install apache2 libapache2-mod-php mysql-client gnupg2 openssl php-pear +RUN apt-get -y install php-intl php-ldap php-ssh2 php-curl php-http php-xmlrpc php-geoip php-memcache php-memcached php-tidy +RUN apt-get -y install php-common libapache2-mod-php php-cli +RUN apt-get -y install php-mysql +RUN apt-get -y install mysql-server +RUN pear upgrade PEAR +RUN pear channel-update pear.php.net +RUN pear channel-discover pear.horde.org +RUN pear install horde/horde_role + +################################################################################################################## + +#### Run below commands inside the horde container ###### + +################################################################################################################## +# RUN service mysql stop +# RUN usermod -d /var/lib/mysql/ mysql +# RUN service mysql start + +# RUN pear run-scripts horde/horde_role +# ### this is a user input -----> /var/www/html/horde +# RUN pear install -a -B horde/horde +# RUN cp /var/www/html/horde/config/conf.php.dist /var/www/html/horde/config/conf.php +# RUN service apache2 restart \ No newline at end of file diff --git a/copper-server/kubernetes/groupware/horde/apache-horde.conf b/copper-server/kubernetes/groupware/horde/apache-horde.conf new file mode 100755 index 00000000..ac80a242 --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/apache-horde.conf @@ -0,0 +1,40 @@ + + # The ServerName directive sets the request scheme, hostname and port that + # the server uses to identify itself. This is used when creating + # redirection URLs. In the context of virtual hosts, the ServerName + # specifies what hostname must appear in the request's Host: header to + # match this virtual host. For the default virtual host (this file) this + # value is not decisive as it is used as a last resort host regardless. + # However, you must set it for any further virtual host explicitly. + #ServerName www.example.com + + ServerAdmin webmaster@localhost + DocumentRoot /usr/share/horde + #DocumentRoot /var/www/html + + # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, + # error, crit, alert, emerg. + # It is also possible to configure the loglevel for particular + # modules, e.g. + #LogLevel info ssl:warn + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + # For most configuration files from conf-available/, which are + # enabled or disabled at a global level, it is possible to + # include a line for only one particular virtual host. For example the + # following line enables the CGI configuration for this host only + # after it has been globally disabled with "a2disconf". + #Include conf-available/serve-cgi-bin.conf + + #Alias /Microsoft-Server-ActiveSync /usr/share/horde/rpc.php + #Alias /autodiscover/autodiscover.xml /usr/share/horde/rpc.php + #Alias /Autodiscover/Autodiscover.xml /usr/share/horde/rpc.php + #Alias /AutoDiscover/AutoDiscover.xml /usr/share/horde/rpc.php + + + #php_value auto_prepend_file "/etc/apache2/scripts/proxy_client_ip.php" + #AllowOverride Limit FileInfo AuthConfig + + diff --git a/copper-server/kubernetes/groupware/horde/config/backends.local.php b/copper-server/kubernetes/groupware/horde/config/backends.local.php new file mode 100644 index 00000000..487b18ed --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/config/backends.local.php @@ -0,0 +1,476 @@ + false, + 'name' => 'copper.opensource.lk', + 'hostspec' => 'email', + 'hordeauth' => false, + 'protocol' => 'imap', + 'port' => 143, + // Plaintext logins are disabled by default on IMAP servers (see RFC 3501 + // [6.2.3]), so TLS is the only guaranteed authentication available by + // default. + 'secure' => 'tls', +); + + +// POP3 server +$servers['pop'] = array( + // Disabled by default + 'disabled' => true, + 'name' => 'POP3 Server', + 'hostspec' => 'localhost', + 'hordeauth' => false, + 'protocol' => 'pop', + 'port' => 110, + // Default to secure TLS authentication by default (see RFC 2595 [4]). + 'secure' => 'tls', +); + + +// Advanced example - mainly here to demonstrate the syntax of all available +// options. +$servers['advanced'] = array( + // Disabled by default + 'disabled' => true, + 'name' => 'Advanced IMAP Server', + 'hostspec' => 'localhost', + 'hordeauth' => false, + 'protocol' => 'imap', + 'port' => 143, + 'secure' => 'tls', + 'maildomain' => '', + 'smtp' => array( + // 'auth' => true, + // 'debug' => false, + // 'horde_auth' => false, + // 'host' => 'smtp.example.com', + // 'lmtp' => false, + // 'localhost' => 'localhost', + // 'password' => null, + // /* Mail from a MUA SHOULD be sent via the mail submission port (587) + // * rather than the MTA port (25). (See RFC 6409/STD 72). + // * Note that mail submission REQUIRES some method of authentication + // * (whether explicit user/password credentials or configuring the + // * mail submission agent to automatically authenticate this host + // * based on the network location). */ + // 'port' => 587, + // 'username' => null + ), + 'spam' => array( + // 'innocent' => array( + // 'display' => true, + // + // // Email reporting driver + // 'email' => null, + // 'email_format' => 'digest', + // + // // Null reporting driver + // 'null' => true, + // + // // Program reporting driver + // 'program' => null + // ), + // 'spam' => array( + // 'display' => false, + // + // // Email reporting driver + // 'email' => null, + // 'email_format' => 'digest', + // + // // Null reporting driver + // 'null' => true, + // + // // Program reporting driver + // 'program' => null + // ), + // // It is possible to directly define additional spam drivers. + // // The 'drivers' array should contain a list of driver objects + // // (these classes must implement the IMP_Spam_Base class). + // 'drivers' => array( + // new IMP_Example_Spam_Driver() + // ) + ), + 'admin' => array( + // 'user' => 'cyrus', + // 'password' => 'cyrus_pass', + // 'userhierarchy' => 'user.' + ), + 'acl' => true, + 'cache' => false, + // 'debug' => '/tmp/imp_imap.log', + // 'debug_raw' => false, + 'quota' => array( + 'driver' => 'imap', + 'params' => array( + 'hide_when_unlimited' => true, + 'unit' => 'MB' + ) + ), + 'special_mboxes' => array( + // IMP_Mailbox::MBOX_DRAFTS => 'Drafts', + // IMP_Mailbox::MBOX_SENT => 'Sent', + // IMP_Mailbox::MBOX_SPAM => 'Spam', + // IMP_Mailbox::MBOX_TEMPLATES => 'Templates', + // IMP_Mailbox::MBOX_TRASH => 'Trash', + // IMP_Mailbox::MBOX_USERSPECIAL => array( + // 'Example' => _("Example Special Mailbox") + // ) + ), + 'autocreate_special' => false, +); diff --git a/copper-server/kubernetes/groupware/horde/config/conf.php b/copper-server/kubernetes/groupware/horde/config/conf.php new file mode 100644 index 00000000..cf55a8fa --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/config/conf.php @@ -0,0 +1,274 @@ + +> /etc/horde/horde/conf.php +# chown -R www-data:www-data /etc/horde +#fi + +#if [ $MYSQL_PORT_3306_TCP_ADDR ]; then +# sed -i "s/^\(.*sql.*hostspec.*=\)\(.*\);/\1 '$MYSQL_PORT_3306_TCP_ADDR';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*port.*=\)\(.*\);/\1 '$MYSQL_PORT_3306_TCP_PORT';/g" /etc/horde/horde/conf.php +#else +# sed -i "s/^\(.*sql.*hostspec.*=\)\(.*\);/\1 '$DB_HOST';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*port.*=\)\(.*\);/\1 '$DB_PORT';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*protocol.*=\)\(.*\);/\1 '$DB_PROTOCOL';/g" /etc/horde/horde/conf.php +#fi + +#if [ $MYSQL_ENV_MYSQL_ROOT_PASSWORD ]; then +# #sed -i "s/^\(.*sql.*username.*=\)\(.*\);/\1 'root';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*username.*=\)\(.*\);/\1 '$MYSQL_ENV_MYSQL_ROOT_USERNAME';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*password.*=\)\(.*\);/\1 '$MYSQL_ENV_MYSQL_ROOT_PASSWORD';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*database.*=\)\(.*\);/\1 '$DB_NAME';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*phptype.*=\)\(.*\);/\1 '$DB_DRIVER';/g" /etc/horde/horde/conf.php +#else +# sed -i "s/^\(.*sql.*username.*=\)\(.*\);/\1 '$DB_USER';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*password.*=\)\(.*\);/\1 '$DB_PASS';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*database.*=\)\(.*\);/\1 '$DB_NAME';/g" /etc/horde/horde/conf.php +# sed -i "s/^\(.*sql.*phptype.*=\)\(.*\);/\1 '$DB_DRIVER';/g" /etc/horde/horde/conf.php +#fi + + +sed -i "s/^\(.*sql.*username.*=\)\(.*\);/\1 '$DB_USER';/g" /etc/horde/horde/conf.php +sed -i "s/^\(.*sql.*password.*=\)\(.*\);/\1 '$DB_PASS';/g" /etc/horde/horde/conf.php +sed -i "s/^\(.*sql.*database.*=\)\(.*\);/\1 '$DB_NAME';/g" /etc/horde/horde/conf.php +sed -i "s/^\(.*sql.*phptype.*=\)\(.*\);/\1 '$DB_DRIVER';/g" /etc/horde/horde/conf.php + + +# this is where horde_db_migrate files are placed +#cd /usr/sbin +cd /usr/sbin + + +if [ $MYSQL_PORT_3306_TCP_ADDR ]; then + + RESULT=`mysql -u $MYSQL_ENV_MYSQL_ROOT_USERNAME --password=$MYSQL_ENV_MYSQL_ROOT_PASSWORD --port=$MYSQL_PORT_3306_TCP_PORT --host=$MYSQL_PORT_3306_TCP_ADDR --protocol=$DB_PROTOCOL --skip-column-names -e "SHOW DATABASES LIKE '$DB_NAME'"` + if [ "$RESULT" == "$DB_NAME" ]; then + echo "Database exist" + else + echo "Database does not exist" + mysql -u $MYSQL_ENV_MYSQL_ROOT_USERNAME --password=$MYSQL_ENV_MYSQL_ROOT_PASSWORD --port=$MYSQL_PORT_3306_TCP_PORT --host=$MYSQL_PORT_3306_TCP_ADDR --protocol=$DB_PROTOCOL -e "CREATE DATABASE $DB_NAME" + horde-db-migrate + echo "Database created" + fi +else + + RESULT=`mysql -u $MYSQL_ENV_MYSQL_ROOT_USERNAME --password=$DB_PASS --port=$DB_PORT --host=$DB_HOST --protocol=$DB_PROTOCOL --skip-column-names -e "SHOW DATABASES LIKE '$DB_NAME'"` + if [ "$RESULT" == "$DB_NAME" ]; then + echo "Database exist" + else + echo "Database does not exist" + mysql -u $MYSQL_ENV_MYSQL_ROOT_USERNAME --password=$DB_PASS --port=$DB_PORT --host=$DB_HOST --protocol=$DB_PROTOCOL --skip-column-names -e "CREATE DATABASE $DB_NAME" + horde-db-migrate + echo "Database created" + fi +fi + +#sed -i "$ s|\-n||g" /usr/bin/pecl +#pecl install lzf +#pear upgrade-all + +#sed -i "s/^\(.*use_ssl.*=\)\(.*\);/\1 0;/g" /etc/horde/horde/conf.php +#sed -i "s/^\(.*testdisable.*=\)\(.*\);/\1 $HORDE_TEST_DISABLE;/g" /etc/horde/horde/conf.php + +#cd /usr/bin +#horde-db-migrate + +service apache2 start \ No newline at end of file diff --git a/copper-server/kubernetes/groupware/horde/horde.yaml b/copper-server/kubernetes/groupware/horde/horde.yaml new file mode 100644 index 00000000..0add3682 --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/horde.yaml @@ -0,0 +1,89 @@ +kind: Service +apiVersion: v1 +metadata: + name: horde + namespace: monitoring +spec: + type: LoadBalancer + selector: + app: horde + ports: + #- protocol: "TCP" + # port: 443 + - protocol: TCP + port: 80 + targetPort: 80 + name: http + #- protocol: TCP + # port: 433 + # targetPort: 433 + # name: http + #- protocol: TCP + # port: 587 + # targetPort: 587 + # name: submission + # port: 433 + # targetPort: 433 + #targetPort: http + #clusterIP: None + #name: webmail + #nodePort: 30080 + #type: NodePort +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: horde + namespace: monitoring +spec: + replicas: 1 + template: + metadata: + labels: + app: horde + track: stable + spec: + containers: + - name: horde + #image: "udacity/example-auth:1.0.0" + image: horde + imagePullPolicy: Never + ports: + - name: http + containerPort: 80 + #- name: submission + # containerPort: 587 + - name: health + containerPort: 81 + resources: + limits: + cpu: 800m + #cpu: "2" + #memory: 2Gi + #memory: 1Gi # once we remove memory limits it can grown untill host permits. + #memory: 512Mi + requests: + cpu: 400m + #memory: 1Gi # 1Gi is not enough for horde + #memory: 256Mi + #dnsPolicy: ClusterFirst # errors with this version + #restartPolicy: Never # errors with this version + #resources: + # limits: + # cpu: 0.9 + # memory: "5500Mi" + #livenessProbe: + # httpGet: + # path: /healthz + # port: 81 + # scheme: HTTP + # initialDelaySeconds: 5 + # periodSeconds: 15 + # timeoutSeconds: 5 + #readinessProbe: + # httpGet: + # path: /readiness + # port: 81 + # scheme: HTTP + # initialDelaySeconds: 5 + # timeoutSeconds: 1 \ No newline at end of file diff --git a/copper-server/kubernetes/groupware/horde/proxy_client_ip.php b/copper-server/kubernetes/groupware/horde/proxy_client_ip.php new file mode 100755 index 00000000..1b8cf149 --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/proxy_client_ip.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/copper-server/kubernetes/groupware/horde/run.sh b/copper-server/kubernetes/groupware/horde/run.sh new file mode 100755 index 00000000..91e667d2 --- /dev/null +++ b/copper-server/kubernetes/groupware/horde/run.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +exec /usr/sbin/apache2ctl -D FOREGROUND \ No newline at end of file diff --git a/copper-server/kubernetes/is/.env b/copper-server/kubernetes/is/.env deleted file mode 100755 index eb9f96af..00000000 --- a/copper-server/kubernetes/is/.env +++ /dev/null @@ -1,81 +0,0 @@ -# main configuration file - -# Domain name -DOMAIN=copper.opensource.lk - -# Debug option -DEBUG=true - -#################################### openldap ########################### - -#loglevel Logging description - -#-1 enable all debugging -#0 no debugging -#1 trace function calls -#2 debug packet handling -#4 heavy trace debugging -#8 connection management -#16 print out packets sent and received -#32 search filter processing -#64 configuration file processing -#128 access control list processing -#256 stats log connections/operations/results -#512 stats log entries sent -#1024 print communication with shell backends -#2048 print entry parsing debugging - -#The loglevel directive uses a decimal bit value so to set more that one logging level you need to add the decimal numbers as in the following examples: - -#loglevel 255 or loglevel -1 -# sets 1, 2, 4, 8, 16, 32, 64 and 128 -#loglevel 2176 -# 2048 + 128 - -#loglevel 296 -# 256 + 32 + 8 - -LDAP_LOG_LEVEL=-1 -LDAP_ORGANISATION=LSF -LDAP_DOMAIN=copper.opensource.lk -LDAP_BASE_DN=dc=copper,dc=opensource,dc=lk -LDAP_ADMIN_PASSWORD=admin -LDAP_CONFIG_PASSWORD=config -#LDAP_READONLY_USER=true -#LDAP_READONLY_USER_USERNAME=readonly -#LDAP_READONLY_USER_PASSWORD=readonly -LDAP_RFC2307BIS_SCHEMA=false -LDAP_BACKEND=mdb -LDAP_TLS=false -#LDAP_TLS_CRT_FILENAME=ldap.crt -#LDAP_TLS_KEY_FILENAME=ldap.key -#LDAP_TLS_CA_CRT_FILENAME=ca.crt -#LDAP_TLS_ENFORCE=false -#LDAP_TLS_CIPHER_SUITE=SECURE256:-VERS-SSL3.0 -#LDAP_TLS_PROTOCOL_MIN=3.1 - -#OpenLDAP user parameters -CN=admin -DC1=copper -DC2=opensource -DC3=lk -DNPASS=admin -OU=Users -OU=Groups - -#LDAP_TLS_VERIFY_CLIENT is set to demand by default so the clients must provide a certificate signed by the ldap trusted ca authorities. -#Possible values are : never | allow | try | demand -#Note try will disable client authentication - if you ident do use that you might want to check all client certs are signed properly -#and CA certs are imported to your ldap server trust store. -LDAP_TLS_VERIFY_CLIENT=try -LDAP_REPLICATION=false - -#LDAP_REPLICATION_CONFIG_SYNCPROV=binddn=cn=admin,cn=config bindmethod=simple credentials=$LDAP_CONFIG_PASSWORD searchbase=cn=config type=refreshAndPersist retry=60 + timeout=1 starttls=critical -#LDAP_REPLICATION_DB_SYNCPROV=binddn=cn=admin,$LDAP_BASE_DN bindmethod=simple credentials=$LDAP_ADMIN_PASSWORD searchbase=$LDAP_BASE_DN type=refreshAndPersist interval=00:00:00:10 retry=60 + timeout=1 starttls=critical -#LDAP_REPLICATION_HOSTS=#PYTHON2BASH:['ldap://172.19.0.22','ldap://openldap'] -KEEP_EXISTING_CONFIG=true -LDAP_REMOVE_CONFIG_AFTER_SETUP=true -LDAP_SSL_HELPER_PREFIX=ldap - - -##################################### END ################################# \ No newline at end of file diff --git a/copper-server/kubernetes/is/README.md b/copper-server/kubernetes/is/README.md deleted file mode 100755 index 70aa9056..00000000 --- a/copper-server/kubernetes/is/README.md +++ /dev/null @@ -1,94 +0,0 @@ -# Identity -Identity management system for copper-mail. - -## Prerequisite - -### Minimum System requirement - -Official documentation for WSO2 Identity Server 5.7 [link](https://docs.wso2.com/display/IS570/Installation+Prerequisites) - -1. Minimum memory - 4 GB -2. Swap partition - exact size of the RAM (Production server) -3. Processor - 2 Core/vCPU 1.1GHz or higher -4. Java SE Development Kit 1.8 -5. Docker - 18v or higher -6. Docker compose - 1.22v or higher -7. The Management Console requires full Javascript enablement of the Web browser. - - -## Installation - -### Update configs - -#### on dev - -add 'localhost.com' mapping to '127.0.0.1' at host file - -following is for Unix environments: - -edit host file with root permission -``` -sudo nano /etc/hosts -``` -add the following -``` -127.0.0.1 localhost.com -``` - -#### on production - -replace 'localhost.com' with your ipaddress or domain name in 'is/config/' - -carbon.xml >>> -``` -localhost.com -localhost.com -``` - -### Create keystores - -``` -cd /is/files -keytool -genkey -alias wso2carbon -keyalg RSA -keystore wso2carbon.jks -keysize 2048 -``` -first and last name? -> ipaddress or domain name -organizational unit -> Users -password -> wso2carbon - - -``` -keytool -export -alias wso2carbon -keystore wso2carbon.jks -file publickey.pem -keytool -import -alias wso2 -file publickey.pem -keystore client-truststore.jks -storepass wso2carbon -``` - - -## Running - -To build and up the server -``` -# sh start.sh -``` - -To stop and remove all containers and along with built images -``` -# sh reset.sh -``` - -Give it a minute or 2, for WSO2 Identity Server to start up. - -Run `docker logs copper-is` to find server url in the end of the logs to be recognized as the server started successfully. - -NB: At times when Identity Server have not started properly on production server, do the following: -``` -cd -docker-compose stop -docker-compose up -d -``` - - -## Testing - -On production environment replace 'localhost.com' with server ip or domain name. You may always use the server started URL on IS docker logs using `docker logs copper-is` which is found right after the server has started. - -1) Visit https://localhost.com:9443/carbon and create a user and add all permission. -2) Goto https://localhost.com:9443/dashboard and try login in successfully. \ No newline at end of file diff --git a/copper-server/kubernetes/is/docker-compose.yml b/copper-server/kubernetes/is/docker-compose.yml deleted file mode 100755 index d60973e0..00000000 --- a/copper-server/kubernetes/is/docker-compose.yml +++ /dev/null @@ -1,47 +0,0 @@ -version: '3' - -services: - openldap: - build: - context: ./openldap - image: copper-openldap - container_name: copper-openldap - environment: - LDAP_DOMAIN: "copper.opensource.lk" - tty: true - stdin_open: true - ports: - - "389:389" - - "636:636" - - # cn=admin,dc=copper,dc=opensource,dc=lk - - phpldapadmin: - image: osixia/phpldapadmin:latest - container_name: phpldapadmin - environment: - PHPLDAPADMIN_LDAP_HOSTS: "openldap" - PHPLDAPADMIN_HTTPS: "false" - ports: - - "8080:80" - depends_on: - - openldap # service name - - is: - build: - context: ./is - image: copper-is - container_name: copper-is - ports: - - "9445:9445" - depends_on: - - openldap - - # mysql: - # image: mysql/mysql-server:5.7 - # container_name: mysql - # environment: - # MYSQL_ROOT_PASSWORD: "toor" - # MYSQL_DATABASE: "wso2is" - # ports: - # - "3306:3306" diff --git a/copper-server/kubernetes/is/is/Dockerfile b/copper-server/kubernetes/is/is/Dockerfile deleted file mode 100755 index 88f0b35c..00000000 --- a/copper-server/kubernetes/is/is/Dockerfile +++ /dev/null @@ -1,50 +0,0 @@ -# ------------------------------------------------------------------------ -# -# Copyright 2018 WSO2, Inc. (http://wso2.com) -# -# Licensed 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 -# -# ------------------------------------------------------------------------ - -# set to latest Alpine -FROM wso2/wso2is:5.7.0 -# MAINTAINER Clement Fernando "info@mrclemrkz.com” - -# set user configurations -ARG USER=wso2carbon -ARG USER_HOME=/home/${USER} - -# set wso2 product configurations -ARG WSO2_SERVER=wso2is -ARG WSO2_SERVER_VERSION=5.7.0 -ARG WSO2_SERVER_PACK=${WSO2_SERVER}-${WSO2_SERVER_VERSION} -ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER_PACK} -ARG WSO2_SERVER_CONF=${WSO2_SERVER_HOME}/repository/conf -ARG WSO2_SERVER_SECURITY=${WSO2_SERVER_HOME}/repository/resources/security - - -#set JVM memory heap to 2GB for production. Default is to 1GB. -COPY --chown=wso2carbon:wso2 ./files/wso2server.sh ${WSO2_SERVER_HOME}/bin - -# update keystores -COPY --chown=wso2carbon:wso2 ./files/wso2carbon.jks ${WSO2_SERVER_SECURITY}/ -COPY --chown=wso2carbon:wso2 ./files/client-truststore.jks ${WSO2_SERVER_SECURITY}/ - -# conecting external ldap -COPY --chown=wso2carbon:wso2 ./config/embedded-ldap.xml ${WSO2_SERVER_CONF}/identity/ -COPY --chown=wso2carbon:wso2 ./config/carbon.xml ${WSO2_SERVER_CONF}/ -COPY --chown=wso2carbon:wso2 ./config/tenant-mgt.xml ${WSO2_SERVER_CONF}/ -COPY --chown=wso2carbon:wso2 ./config/user-mgt.xml ${WSO2_SERVER_CONF}/ - -# for claim mapping mismatch on "urn:ietf:params:scim:schemas:core:2.0:meta.resourceType" -COPY --chown=wso2carbon:wso2 ./config/claim-config.xml ${WSO2_SERVER_CONF}/ diff --git a/copper-server/kubernetes/is/is/config/carbon.xml b/copper-server/kubernetes/is/is/config/carbon.xml deleted file mode 100755 index f0fe7051..00000000 --- a/copper-server/kubernetes/is/is/config/carbon.xml +++ /dev/null @@ -1,720 +0,0 @@ - - - - - - - - WSO2 Identity Server - - - IS - - - 5.7.0 - - - localhost.com - - - localhost.com - - - local:/${carbon.context}/services/ - - - - - - - IdentityServer - - - - - - - org.wso2.carbon - - - / - - - - - - - - - 15 - - - - - - - - - 2 - - - - - 9999 - - 11111 - - - - - - 10389 - - 8000 - - - - - - 10500 - - - - - - - - - org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory - - - - - - - - - java - - - - - - - - - - false - - - false - - - 600 - - - - false - - - - - - - - 30 - - - - - - - - - 15 - - false - - - - - - ${carbon.home}/repository/deployment/server/ - - - 15 - - - ${carbon.home}/repository/conf/axis2/axis2.xml - - - 30000 - - - ${carbon.home}/repository/deployment/client/ - - ${carbon.home}/repository/conf/axis2/axis2_client.xml - - true - - - - - - - - - - admin - Default Administrator Role - - - user - Default User Role - - - - - - - true - - - org.wso2.carbon.crypto.provider.KeyStoreBasedInternalCryptoProvider - - - org.wso2.carbon.core.encryption.KeyStoreBasedExternalCryptoProvider - - - - - - - - - - - - - - - - - ${carbon.home}/repository/resources/security/wso2carbon.jks - - JKS - - wso2carbon - - wso2carbon - - wso2carbon - - - - - - ${carbon.home}/repository/resources/security/wso2carbon.jks - - JKS - - wso2carbon - - wso2carbon - - wso2carbon - - - - - - ${carbon.home}/repository/resources/security/client-truststore.jks - - JKS - - wso2carbon - - - - - - - - - - - - - - - - - - - UserManager - - - false - - org.wso2.carbon.identity.provider.AttributeCallbackHandler - - - org.wso2.carbon.identity.sts.store.DBTokenStore - - - true - allow - - - - - - -claim_mgt_menu -identity_mgt_emailtemplate_menu -identity_security_questions_menu - - - - ${carbon.home}/tmp/work - - - - - - true - - - 10 - - - 30 - - - - - - 100 - - - - keystore - certificate - * - - org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor - - - - - jarZip - - org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor - - - - dbs - - org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor - - - - tools - - org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor - - - - toolsAny - - org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor - - - - - - - - - - info - org.wso2.carbon.core.transports.util.InfoProcessor - - - wsdl - org.wso2.carbon.core.transports.util.Wsdl11Processor - - - wsdl2 - org.wso2.carbon.core.transports.util.Wsdl20Processor - - - xsd - org.wso2.carbon.core.transports.util.XsdProcessor - - - - - - false - false - true - svn - http://svnrepo.example.com/repos/ - username - password - true - - - - - - - - - - - - ${require.carbon.servlet} - - - - - true - - - - - - - default repository - http://product-dist.wso2.com/p2/carbon/releases/wilkes/ - - - - - - - - true - - - - - - true - - diff --git a/copper-server/kubernetes/is/is/config/claim-config.xml b/copper-server/kubernetes/is/is/config/claim-config.xml deleted file mode 100755 index b55cb16f..00000000 --- a/copper-server/kubernetes/is/is/config/claim-config.xml +++ /dev/null @@ -1,2291 +0,0 @@ - - - - - - http://wso2.org/claims/givenname - First Name - givenName - First Name - - 1 - - - - http://wso2.org/claims/lastname - Last Name - sn - Last Name - - 2 - - - - http://wso2.org/claims/organization - Organization - organizationName - Organization - 3 - - - - http://wso2.org/claims/streetaddress - Address - streetAddress - Address - 4 - - - - http://wso2.org/claims/country - Country - country - Country - 5 - - - - http://wso2.org/claims/emailaddress - Email - mail - Email Address - - 6 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - - - http://wso2.org/claims/telephone - Telephone - telephoneNumber - Telephone - 7 - - - - http://wso2.org/claims/mobile - Mobile - mobile - Mobile - 8 - - - - http://wso2.org/claims/im - IM - im - IM - 9 - - - - http://wso2.org/claims/url - URL - url - URL - 10 - - - - http://wso2.org/claims/gender - Gender - gender - Gender - - - http://wso2.org/claims/title - Title - title - Title - - - http://wso2.org/claims/role - Role - role - Role - - - - - http://wso2.org/claims/department - Department - departmentNumber - Department - - - - - http://wso2.org/claims/postalcode - Postal Code - postalcode - Postal Code - - - http://wso2.org/claims/locality - Locality - local - Locality - - - http://wso2.org/claims/region - Region - region - Region - - - http://wso2.org/claims/dob - Birth Date - dateOfBirth - Birth Date - - - http://wso2.org/claims/nickname - Nick Name - nickName - Nick Name - - - http://wso2.org/claims/stateorprovince - State - stateOrProvinceName - State - - - http://wso2.org/claims/otherphone - Other Phone - otherPhone - Other Phone - - - http://wso2.org/claims/fullname - Full Name - cn - Full Name - - - http://wso2.org/claims/username - Username - uid - Username - - - http://wso2.org/claims/userprincipal - User Principal - uid - User Principal - - - http://wso2.org/claims/userid - User ID - scimId - Unique ID of the user - - - - http://wso2.org/claims/externalid - External User ID - externalId - Unique ID of the user used in external systems - - - - http://wso2.org/claims/created - Created Time - createdDate - Created timestamp of the user - - - - http://wso2.org/claims/modified - Last Modified Time - lastModifiedDate - Last Modified timestamp of the user - - - - http://wso2.org/claims/location - Location - location - Location - - - - http://wso2.org/claims/formattedName - Name - Formatted Name - formattedName - Formatted Name - - - http://wso2.org/claims/middleName - Middle Name - middleName - Middle Name - - - http://wso2.org/claims/honorificPrefix - Name - Honoric Prefix - honoricPrefix - Honoric Prefix - - - http://wso2.org/claims/honorificSuffix - Name - Honoric Suffix - honoricSuffix - Honoric Suffix - - - http://wso2.org/claims/resourceType - Resource Type - ref - Resource Type - - - http://wso2.org/claims/userType - User Type - userType - User Type - - - http://wso2.org/claims/preferredLanguage - Preferred Language - preferredLanguage - Preferred Language - - - http://wso2.org/claims/local - Local - local - Local - - - http://wso2.org/claims/timeZone - Time Zone - timeZone - Time Zone - - - - http://wso2.org/claims/emails.work - Emails - Work Email - workEmail - Work Email - - - http://wso2.org/claims/emails.home - Emails - Home Email - homeEmail - Home Email - - - http://wso2.org/claims/emails.other - Emails - Other Email - otherEmail - Other Email - - - http://wso2.org/claims/phoneNumbers - Phone Numbers - phoneNumbers - Phone Numbers - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - - - http://wso2.org/claims/phoneNumbers.home - Phone Numbers - Home Phone Number - homePhone - Home Phone - - - http://wso2.org/claims/phoneNumbers.work - Phone Numbers - Work Phone Number - workPhone - Work Phone - - - http://wso2.org/claims/phoneNumbers.fax - Phone Numbers - Fax Number - fax - Fax Number - - - http://wso2.org/claims/phoneNumbers.pager - Phone Numbers - Pager Number - pager - Pager Number - - - http://wso2.org/claims/phoneNumbers.other - Phone Numbers - Other - otherPhoneNumber - Other Phone Number - - - http://wso2.org/claims/gtalk - IM - Gtalk - imGtalk - IM - Gtalk - - - http://wso2.org/claims/skype - IM - Skype - imSkype - IM - Skype - - - http://wso2.org/claims/photos - Photo - photos - Photo - - - http://wso2.org/claims/photourl - Photo URIL - photoUrl - Photo URL - - - http://wso2.org/claims/thumbnail - Photo - Thumbnail - thumbnail - Photo - Thumbnail - - - http://wso2.org/claims/addresses - Address - addresses - Address - - - http://wso2.org/claims/addresses.formatted - Address - Formatted - formattedAddress - Address - Formatted - - - http://wso2.org/claims/streetaddress - Address - Street - streetAddress - Address - Street - 5 - - - http://wso2.org/claims/addresses.locality - Address - Locality - localityAddress - Address - Locality - - - http://wso2.org/claims/groups - Groups - groups - Groups - - - http://wso2.org/claims/identity/verifyEmail - Verify Email - verifyEmail - Temporary claim to invoke email verified feature - - - http://wso2.org/claims/identity/askPassword - Ask Password - askPassword - Temporary claim to invoke email ask Password feature - - - http://wso2.org/claims/identity/adminForcedPasswordReset - Force Password Reset - forcePasswordReset - Temporary claim to invoke email force password feature - - - http://wso2.org/claims/entitlements - Entitlements - entitlements - Entitlements - - - http://wso2.org/claims/identity/lockedReason - Locked Reason - lockedReason - Locked Reason - - - http://wso2.org/claims/x509Certificates - X509Certificates - x509Certificates - X509Certificates - - - http://wso2.org/claims/identity/failedPasswordRecoveryAttempts - Failed Password Recovery Attempts - failedRecoveryAttempts - Number of consecutive failed attempts done for password recovery - - - - - http://wso2.org/claims/primaryChallengeQuestion - Primary Challenge Question - - primaryChallengeQuestion - Primary Challenge Question - - - http://wso2.org/claims/challengeQuestionUris - Challenge Question - - challengeQuestionUris - Challenge Question - - - - http://wso2.org/claims/oneTimePassword - One Time Password - - oneTimePassword - One Time Password - - - http://wso2.org/claims/extendedRef - Extended Ref - - extendedRef - Extended Ref - - - http://wso2.org/claims/extendedDisplayName - Extended Display Name - - extendedDisplayName - Extended Display Name - - - http://wso2.org/claims/costCenter - Cost Center - - costCenter - Cost Center - - - http://wso2.org/claims/extendedExternalId - Extended External ID - - extendedExternalId - Extended External ID - - - http://wso2.org/claims/identity/accountLocked - Account Locked - - accountLock - Account Locked - - - http://wso2.org/claims/identity/emailVerified - Email Verified - - emailVerified - Email Verified - - - http://wso2.org/claims/identity/phoneVerified - Phone Verified - - phoneVerified - Phone Verified - - - http://wso2.org/claims/identity/accountDisabled - Account Disabled - - accountDisabled - Account Disabled - - - http://wso2.org/claims/identity/failedLoginAttempts - Failed Login Attempts - - failedLoginAttempts - Failed Login Attempts - - - http://wso2.org/claims/identity/failedLoginLockoutCount - Failed Lockout Count - - failedLockoutCount - Failed Lockout Count - - - http://wso2.org/claims/identity/unlockTime - Unlock Time - - unlockTime - Unlock Time - - - http://wso2.org/claims/lastLoginTime - Last Login - - lastLoginTime - Last Login Time - - - http://wso2.org/claims/identity/lastLogonTime - Last Logon - - lastLogonTime - Last Logon Time - - - http://wso2.org/claims/identity/lastPasswordUpdateTime - Last Password Update - - lastPasswordUpdate - Last Password Update Time - - - http://wso2.org/claims/challengeQuestion1 - Challenge Question1 - - firstChallenge - Challenge Question1 - - - - http://wso2.org/claims/challengeQuestion2 - Challenge Question2 - - secondChallenge - Challenge Question2 - - - http://wso2.org/claims/displayName - Display Name - displayName - Display Name - - - http://wso2.org/claims/active - Active - active - Status of the account - - - - - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname - First Name - givenName - First Name - - - http://wso2.org/claims/givenname - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nickname - Nick Name - nickName - Nick Name - http://wso2.org/claims/nickname - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname - Last Name - sn - Last Name - - - http://wso2.org/claims/lastname - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress - Email - mail - Email Address - - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emailaddress - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth - DOB - dateOfBirth - Date of Birth - http://wso2.org/claims/dob - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/gender - Gender - gender - Gender - http://wso2.org/claims/gender - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country - Country - country - Country - - http://wso2.org/claims/country - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress - Street Address - streetAddress - Street Address - http://wso2.org/claims/streetaddress - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone - Home Phone - homePhone - Home Phone - - http://wso2.org/claims/phoneNumbers.home - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone - Other Phone - otherPhone - Other Phone - http://wso2.org/claims/otherphone - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobile - Mobile - mobile - Mobile - http://wso2.org/claims/mobile - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality - Locality - localityName - Locality - http://wso2.org/claims/locality - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/stateorprovince - State - stateOrProvinceName - State - http://wso2.org/claims/stateorprovince - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode - Postalcode - postalCode - Postalcode - - http://wso2.org/claims/postalcode - - - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier - privatePersonalIdentifier - PPID - - - http://wso2.org/claims/im - - - - - - nickname - Nick Name - nickName - Nick Name - - 1 - - http://wso2.org/claims/nickname - - - fullname - Full Name - cn - Full Name - 2 - - - http://wso2.org/claims/fullname - - - email - Email - mail - Email Address - 3 - - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emailaddress - - - country - Country - country - Country - 5 - - http://wso2.org/claims/country - - - timezone - Time Zone - timeZone - Time Zone - 9 - - http://wso2.org/claims/timeZone - - - dob - DOB - dateOfBirth - Date of Birth - 6 - - http://wso2.org/claims/dob - - - postcode - Postalcode - postalCode - Postalcode - 4 - - http://wso2.org/claims/postalcode - - - gender - Gender - gender - Gender - 8 - - http://wso2.org/claims/gender - - - language - Language - prefferedLanguage - Language - 7 - - http://wso2.org/claims/preferredLanguage - - - - - - http://axschema.org/namePerson/first - First Name - givenName - First Name - - - http://wso2.org/claims/givenname - - - http://axschema.org/namePerson/last - Last Name - sn - Last Name - - - http://wso2.org/claims/lastname - - - http://axschema.org/contact/email - Email - mail - Email Address - - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emailaddress - - - http://axschema.org/contact/country/home - Country - country - Country - - http://wso2.org/claims/country - - - http://axschema.org/pref/timezone - Time Zone - timeZone - Time Zone - http://wso2.org/claims/timeZone - - - http://axschema.org/birthDate - DOB - dateOfBirth - Date of Birth - - http://wso2.org/claims/dob - - - http://axschema.org/contact/postalCode/home - Postalcode - postalCode - Postalcode - - http://wso2.org/claims/postalcode - - - http://axschema.org/person/gender - Gender - gender - Gender - - http://wso2.org/claims/gender - - - http://axschema.org/pref/language - Language - prefferedLanguage - Language - - http://wso2.org/claims/preferredLanguage - - - - - urn:scim:schemas:core:1.0:id - Id - scimId - Id - - 1 - - http://wso2.org/claims/userid - - - urn:scim:schemas:core:1.0:externalId - External Id - externalId - External Id - - 1 - - http://wso2.org/claims/externalid - - - urn:scim:schemas:core:1.0:meta.created - Meta - Created - createdDate - Meta - Created - - 1 - - http://wso2.org/claims/created - - - urn:scim:schemas:core:1.0:meta.lastModified - Meta - Last Modified - lastModifiedDate - Meta - Last Modified - - 1 - - http://wso2.org/claims/modified - - - urn:scim:schemas:core:1.0:meta.location - Meta - Location - location - Meta - Location - - 1 - - http://wso2.org/claims/location - - - urn:scim:schemas:core:1.0:userName - User Name - uid - User Name - 2 - - - http://wso2.org/claims/username - - - urn:scim:schemas:core:1.0:name.givenName - Name - Given Name - givenName - Given Name - - 1 - - http://wso2.org/claims/givenname - - - urn:scim:schemas:core:1.0:name.familyName - Name - Family Name - sn - Family Name - 2 - - - http://wso2.org/claims/lastname - - - urn:scim:schemas:core:1.0:name.formatted - Name - Formatted Name - formattedName - Formatted Name - 2 - - - http://wso2.org/claims/formattedName - - - urn:scim:schemas:core:1.0:name.middleName - Name - Middle Name - middleName - Middle Name - 2 - - - http://wso2.org/claims/middleName - - - urn:scim:schemas:core:1.0:name.honorificPrefix - Name - Honoric Prefix - honoricPrefix - Honoric Prefix - 2 - - - http://wso2.org/claims/honorificPrefix - - - urn:scim:schemas:core:1.0:name.honorificSuffix - Name - Honoric Suffix - honoricSuffix - Honoric Suffix - 2 - - - http://wso2.org/claims/honorificSuffix - - - urn:scim:schemas:core:1.0:displayName - Display Name - displayName - Display Name - 2 - - - http://wso2.org/claims/displayName - - - urn:scim:schemas:core:1.0:nickName - Nick Name - nickName - Nick Name - 2 - - - http://wso2.org/claims/nickname - - - urn:scim:schemas:core:1.0:profileUrl - Profile URL - url - Profile URL - 2 - - - http://wso2.org/claims/url - - - urn:scim:schemas:core:1.0:title - Title - title - Title - 2 - - - http://wso2.org/claims/title - - - urn:scim:schemas:core:1.0:userType - User Type - userType - User Type - 2 - - - http://wso2.org/claims/userType - - - urn:scim:schemas:core:1.0:preferredLanguage - Preferred Language - preferredLanguage - Preferred Language - 2 - - - http://wso2.org/claims/preferredLanguage - - - urn:scim:schemas:core:1.0:locale - Locality - localityName - Locality - 2 - - - http://wso2.org/claims/local - - - urn:scim:schemas:core:1.0:timeZone - Time Zone - timeZone - Time Zone - 2 - - - http://wso2.org/claims/timeZone - - - urn:scim:schemas:core:1.0:active - Active - active - Active - 2 - - - http://wso2.org/claims/active - - - urn:scim:schemas:core:1.0:emails - Emails - mail - Email Addresses - 3 - - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emailaddress - - - urn:scim:schemas:core:1.0:emails.work - Emails - Work Email - workEmail - Work Email - 5 - - http://wso2.org/claims/emails.work - - - urn:scim:schemas:core:1.0:emails.home - Emails - Home Email - homeEmail - Home Email - 5 - - http://wso2.org/claims/emails.home - - - urn:scim:schemas:core:1.0:emails.other - Emails - Other Email - otherEmail - Other Email - 5 - - http://wso2.org/claims/emails.other - - - urn:scim:schemas:core:1.0:phoneNumbers - Phone Numbers - phoneNumbers - Phone Numbers - 3 - - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/phoneNumbers - - - urn:scim:schemas:core:1.0:phoneNumbers.mobile - Phone Numbers - Mobile Number - mobile - Mobile Number - 5 - - http://wso2.org/claims/mobile - - - urn:scim:schemas:core:1.0:phoneNumbers.home - Phone Numbers - Home Phone Number - homePhone - Home Phone - 5 - - http://wso2.org/claims/phoneNumbers.home - - - urn:scim:schemas:core:1.0:phoneNumbers.work - Phone Numbers - Work Phone Number - workPhone - Work Phone - 5 - - http://wso2.org/claims/phoneNumbers.work - - - urn:scim:schemas:core:1.0:phoneNumbers.fax - Phone Numbers - Fax Number - fax - Fax Number - 5 - - http://wso2.org/claims/phoneNumbers.fax - - - urn:scim:schemas:core:1.0:phoneNumbers.pager - Phone Numbers - Pager Number - pager - Pager Number - 5 - - http://wso2.org/claims/phoneNumbers.pager - - - urn:scim:schemas:core:1.0:phoneNumbers.other - Phone Numbers - Other - otherPhoneNumber - Other Phone Number - 5 - - http://wso2.org/claims/phoneNumbers.other - - - urn:scim:schemas:core:1.0:ims - IMS - im - IM - 5 - - http://wso2.org/claims/im - - - urn:scim:schemas:core:1.0:ims.gtalk - IM - Gtalk - imGtalk - IM - Gtalk - 5 - - http://wso2.org/claims/gtalk - - - urn:scim:schemas:core:1.0:ims.skype - IM - Skype - imSkype - IM - Skype - 5 - - http://wso2.org/claims/skype - - - urn:scim:schemas:core:1.0:photos - Photo - photos - Photo - 5 - - http://wso2.org/claims/photos - - - urn:scim:schemas:core:1.0:photos.photo - Photo - photoUrl - Photo - 5 - - http://wso2.org/claims/photourl - - - urn:scim:schemas:core:1.0:photos.thumbnail - Photo - Thumbnail - thumbnail - Photo - Thumbnail - 5 - - http://wso2.org/claims/thumbnail - - - urn:scim:schemas:core:1.0:addresses - Address - addresses - Address - 5 - - http://wso2.org/claims/addresses - - - urn:scim:schemas:core:1.0:addresses.formatted - Address - Formatted - formattedAddress - Address - Formatted - 5 - - http://wso2.org/claims/addresses.formatted - - - urn:scim:schemas:core:1.0:addresses.streetAddress - Address - Street - streetAddress - Address - Street - 5 - - http://wso2.org/claims/streetaddress - - - urn:scim:schemas:core:1.0:addresses.locality - Address - Locality - localityAddress - Address - Locality - 5 - - http://wso2.org/claims/addresses.locality - - - urn:scim:schemas:core:1.0:addresses.region - Address - Region - region - Address - Region - 5 - - http://wso2.org/claims/region - - - urn:scim:schemas:core:1.0:addresses.postalCode - Address - Postal Code - postalCode - Address - Postal Code - 5 - - http://wso2.org/claims/postalcode - - - urn:scim:schemas:core:1.0:addresses.country - Address - Country - country - Address - Country - 5 - - http://wso2.org/claims/country - - - urn:scim:schemas:core:1.0:groups - Groups - groups - Groups - 5 - - http://wso2.org/claims/groups - - - urn:scim:schemas:core:1.0:entitlements - Entitlements - entitlements - Entitlements - 5 - - http://wso2.org/claims/entitlements - - - urn:scim:schemas:core:1.0:roles - Roles - roles - Roles - 5 - - http://wso2.org/claims/role - - - urn:scim:schemas:core:1.0:x509Certificates - X509Certificates - x509Certificates - X509Certificates - 5 - - http://wso2.org/claims/x509Certificates - - - - - sub - Subject - uid - Identifier for the End-User at the Issuer - - 1 - - http://wso2.org/claims/username - - - name - Full Name - cn - End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences - - 2 - - http://wso2.org/claims/fullname - - - given_name - Given Name - givenName - Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters. - 3 - - http://wso2.org/claims/givenname - - - family_name - Surname - sn - Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters. - 4 - - http://wso2.org/claims/lastname - - - middle_name - Middle Name - middleName - Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used. - 5 - - http://wso2.org/claims/middleName - - - nickname - Nickname - nickName - Casual name of the End-User that may or may not be the same as the given_name. For instance, a nickname value of Mike might be returned alongside a given_name value of Michael. - - 6 - - http://wso2.org/claims/nickname - - - preferred_username - Preferred Username - cn - Shorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe. - 7 - - http://wso2.org/claims/displayName - - - profile - Profile - url - URL of the End-User's profile page. The contents of this Web page SHOULD be about the End-User. - 8 - - http://wso2.org/claims/url - - - picture - Picture - image - URL of the End-User's profile picture. This URL MUST refer to an image file (for example, a PNG, JPEG, or GIF image file) - 9 - - http://wso2.org/claims/photourl - - - website - URL - url - URL of the End-User's Web page or blog. This Web page SHOULD contain information published by the End-User or an organization that the End-User is affiliated with. - 10 - - http://wso2.org/claims/url - - - upn - User Principal - uid - The user principal name - 11 - - http://wso2.org/claims/userprincipal - - - groups - User Groups - role - List of group names that have been assigned to the principal. This typically will require a mapping at the application container level to application deployment roles. - 12 - - http://wso2.org/claims/role - - - email - Email - mail - End-User's preferred e-mail address. - http://wso2.org/claims/emailaddress - - - email_verified - Email Verified - emailVerified - True if the End-User's e-mail address has been verified; otherwise false. - http://wso2.org/claims/identity/emailVerified - - - gender - Gender - gender - End-User's gender. Values defined by this specification are female and male. Other values MAY be used when neither of the defined values are applicable. - - - http://wso2.org/claims/gender - - - birthdate - Birth Date - birthDate - End-User's birthday, represented as an ISO 8601:2004 [ISO8601-2004] YYYY-MM-DD format. The year MAY be 0000, indicating that it is omitted. To represent only the year, YYYY format is allowed. - http://wso2.org/claims/dob - - - zoneinfo - Zone Info - zone - String from zoneinfo time zone database representing the End-User's time zone. For example, Europe/Paris or America/Los_Angeles. - http://wso2.org/claims/timeZone - - - locale - Locale - locale - End-User's locale, For example, en-US or fr-CA, en_US - http://wso2.org/claims/local - - - phone_number - Phone Number - telephoneNumber - End-User's preferred telephone number. For example, +1 (425) 555-1212 or +56 (2) 687 2400., +1 (604) 555-1234;ext=5678. - http://wso2.org/claims/telephone - - - phone_number_verified - Phone Number Verified - phoneVerififed - True if the End-User's phone number has been verified; otherwise false. - http://wso2.org/claims/identity/phoneVerified - - - address - Address - address - True if the End-User's phone number has been verified; otherwise false. - http://wso2.org/claims/addresses - - - updated_at - Updated At - updated - Time the End-User's information was last updated. Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time. - http://wso2.org/claims/modified - - - formatted - Address Formatted - formatted - Full mailing address, formatted for display or use on a mailing label. This field MAY contain multiple lines, separated by newlines. - http://wso2.org/claims/addresses.formatted - - - street_address - Street Address - street - Full street address component, which MAY include house number, street name, Post Office Box, and multi-line extended street address information. - http://wso2.org/claims/streetaddress - - - locality - Locality - localityName - City or locality component. - http://wso2.org/claims/locality - - - region - One Time Password - region - State, province, prefecture, or region component. - http://wso2.org/claims/region - - - postal_code - Postal Code - postalcode - Zip code or postal code component. - http://wso2.org/claims/postalcode - - - country - Country - country - Country name component - http://wso2.org/claims/country - - - - - urn:ietf:params:scim:schemas:core:2.0:id - Id - scimId - Id - - 1 - - http://wso2.org/claims/userid - - - urn:ietf:params:scim:schemas:core:2.0:externalId - External Id - externalId - External Id - - 1 - - http://wso2.org/claims/externalid - - - urn:ietf:params:scim:schemas:core:2.0:meta.created - Meta - Created - createdDate - Meta - Created - - 1 - - http://wso2.org/claims/created - - - urn:ietf:params:scim:schemas:core:2.0:meta.lastModified - Meta - Last Modified - lastModifiedDate - Meta - Last Modified - - 1 - - http://wso2.org/claims/modified - - - urn:ietf:params:scim:schemas:core:2.0:meta.location - Meta - Location - location - Meta - Location - - 1 - - http://wso2.org/claims/location - - - urn:ietf:params:scim:schemas:core:2.0:meta.resourceType - Meta - Location - ref - Meta - Location - - 1 - - http://wso2.org/claims/userType - - - urn:ietf:params:scim:schemas:core:2.0:meta.version - Meta - Version - im - Meta - Version - - 1 - - http://wso2.org/claims/im - - - - - urn:ietf:params:scim:schemas:core:2.0:User:userName - User Name - uid - User Name - 2 - - - http://wso2.org/claims/username - - - urn:ietf:params:scim:schemas:core:2.0:User:name.givenName - Name - Given Name - givenName - Given Name - - 1 - - http://wso2.org/claims/givenname - - - urn:ietf:params:scim:schemas:core:2.0:User:name.familyName - Name - Family Name - sn - Family Name - 2 - - - http://wso2.org/claims/lastname - - - urn:ietf:params:scim:schemas:core:2.0:User:name.formatted - Name - Formatted Name - formattedName - Formatted Name - 2 - - - http://wso2.org/claims/formattedName - - - urn:ietf:params:scim:schemas:core:2.0:User:name.middleName - Name - Middle Name - middleName - Middle Name - 2 - - - http://wso2.org/claims/middleName - - - urn:ietf:params:scim:schemas:core:2.0:User:name.honorificPrefix - Name - Honoric Prefix - honoricPrefix - Honoric Prefix - 2 - - - http://wso2.org/claims/honorificPrefix - - - urn:ietf:params:scim:schemas:core:2.0:User:name.honorificSuffix - Name - Honoric Suffix - honoricSuffix - Honoric Suffix - 2 - - - http://wso2.org/claims/honorificSuffix - - - urn:ietf:params:scim:schemas:core:2.0:User:displayName - Display Name - displayName - Display Name - 2 - - - http://wso2.org/claims/displayName - - - urn:ietf:params:scim:schemas:core:2.0:User:nickName - Nick Name - nickName - Nick Name - 2 - - - http://wso2.org/claims/nickname - - - urn:ietf:params:scim:schemas:core:2.0:User:profileUrl - Profile URL - url - Profile URL - 2 - - - http://wso2.org/claims/url - - - urn:ietf:params:scim:schemas:core:2.0:User:title - Title - title - Title - 2 - - - http://wso2.org/claims/title - - - urn:ietf:params:scim:schemas:core:2.0:User:userType - User Type - userType - User Type - 2 - - - http://wso2.org/claims/userType - - - urn:ietf:params:scim:schemas:core:2.0:User:preferredLanguage - Preferred Language - preferredLanguage - Preferred Language - 2 - - - http://wso2.org/claims/preferredLanguage - - - urn:ietf:params:scim:schemas:core:2.0:User:locale - Locality - localityName - Locality - 2 - - - http://wso2.org/claims/local - - - urn:ietf:params:scim:schemas:core:2.0:User:timezone - Time Zone - timeZone - Time Zone - 2 - - - http://wso2.org/claims/timeZone - - - urn:ietf:params:scim:schemas:core:2.0:User:active - Active - active - Active - 2 - - - http://wso2.org/claims/active - - - urn:ietf:params:scim:schemas:core:2.0:User:emails - Emails - mail - Email Addresses - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emailaddress - - - urn:ietf:params:scim:schemas:core:2.0:User:emails.work - Emails - Work Email - workEmail - Work Email - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emails.work - - - urn:ietf:params:scim:schemas:core:2.0:User:emails.home - Emails - Home Email - homeEmail - Home Email - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emails.home - - - urn:ietf:params:scim:schemas:core:2.0:User:emails.other - Emails - Other Email - otherEmail - Other Email - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/emails.other - - - urn:ietf:params:scim:schemas:core:2.0:User:phoneNumbers - Phone Numbers - phoneNumbers - Phone Numbers - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/phoneNumbers - - - urn:ietf:params:scim:schemas:core:2.0:User:phoneNumbers.mobile - Phone Numbers - Mobile Number - mobile - Mobile Number - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/mobile - - - urn:ietf:params:scim:schemas:core:2.0:User:phoneNumbers.home - Phone Numbers - Home Phone Number - homePhone - Home Phone - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/phoneNumbers.home - - - urn:ietf:params:scim:schemas:core:2.0:User:phoneNumbers.work - Phone Numbers - Work Phone Number - workPhone - Work Phone - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/phoneNumbers.work - - - urn:ietf:params:scim:schemas:core:2.0:User:phoneNumbers.other - Phone Numbers - Other - otherPhoneNumber - Other Phone Number - 5 - - ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ - http://wso2.org/claims/phoneNumbers.other - - - urn:ietf:params:scim:schemas:core:2.0:User:ims.gtalk - IM - Gtalk - imGtalk - IM - Gtalk - 5 - - http://wso2.org/claims/gtalk - - - urn:ietf:params:scim:schemas:core:2.0:User:ims.skype - IM - Skype - imSkype - IM - Skype - 5 - - http://wso2.org/claims/skype - - - urn:ietf:params:scim:schemas:core:2.0:User:photos - Photo - photos - Photo - 5 - - http://wso2.org/claims/photos - - - urn:ietf:params:scim:schemas:core:2.0:User:photos.photo - Photo - photoUrl - Photo - 5 - - http://wso2.org/claims/photourl - - - urn:ietf:params:scim:schemas:core:2.0:User:photos.thumbnail - Photo - Thumbnail - thumbnail - Photo - Thumbnail - 5 - - http://wso2.org/claims/thumbnail - - - urn:ietf:params:scim:schemas:core:2.0:User:addresses - Address - addresses - Address - 5 - - http://wso2.org/claims/addresses - - - urn:ietf:params:scim:schemas:core:2.0:User:addresses.home - Address - Home - localityAddress - Address - Home - 5 - - http://wso2.org/claims/addresses.locality - - - urn:ietf:params:scim:schemas:core:2.0:User:addresses.work - Address - Work - region - Address - Work - 5 - - http://wso2.org/claims/region - - - urn:ietf:params:scim:schemas:core:2.0:User:groups - Groups - groups - Groups - 5 - - http://wso2.org/claims/groups - - - urn:ietf:params:scim:schemas:core:2.0:User:entitlements.default - Entitlements - entitlements - Entitlements - 5 - - http://wso2.org/claims/entitlements - - - urn:ietf:params:scim:schemas:core:2.0:User:roles.default - Roles - roles - Roles - 5 - - http://wso2.org/claims/role - - - urn:ietf:params:scim:schemas:core:2.0:User:x509Certificates.default - X509Certificates - x509Certificates - X509Certificates - 5 - - http://wso2.org/claims/x509Certificates - - - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber - Employee Number - extendedExternalId - Employee Number - - 1 - - http://wso2.org/claims/extendedExternalId - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter - Cost Center - costCenter - Cost Center - - 1 - - http://wso2.org/claims/costCenter - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization - Organization -division - organizationName - Organization -division - - 1 - - http://wso2.org/claims/organization - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department - Organization -department - departmentNumber - Organization -department - - 1 - - http://wso2.org/claims/department - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division - Manager - home - stateorprovince - Manager - home - - 1 - - http://wso2.org/claims/stateorprovince - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager.value - Manager - home - gender - Manager - home - - 1 - - http://wso2.org/claims/gender - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager.$ref - Manager - home - extendedRef - Manager - home - - 1 - - http://wso2.org/claims/extendedRef - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager.displayName - Manager - Display Name - extendedDisplayName - Manager - Display Name - - 1 - - http://wso2.org/claims/extendedDisplayName - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:askPassword - Ask Password - askPassword - Temporary claim to invoke email ask Password feature - - 1 - - http://wso2.org/claims/identity/askPassword - - - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:verifyEmail - Verify Email - verifyEmail - Temporary claim to invoke email verified feature - - 1 - - http://wso2.org/claims/identity/verifyEmail - - - - - http://eidas.europa.eu/attributes/naturalperson/PersonIdentifier - Person Identifier - scimId - Person Identifier - - 1 - - http://wso2.org/claims/userid - - - http://eidas.europa.eu/attributes/naturalperson/CurrentFamilyName - Current Family Name - sn - Current Family Name - - 1 - - http://wso2.org/claims/lastname - - - http://eidas.europa.eu/attributes/naturalperson/CurrentGivenName - Current Given Name - givenName - Current Given Name - - 1 - - http://wso2.org/claims/givenname - - - http://eidas.europa.eu/attributes/naturalperson/DateOfBirth - Date of birth - dateOfBirth - Date of birth - - 1 - - http://wso2.org/claims/dob - - - http://eidas.europa.eu/attributes/naturalperson/BirthName - Birth Name - uid - Birth Name - - 1 - - http://wso2.org/claims/username - - - http://eidas.europa.eu/attributes/naturalperson/PlaceOfBirth - Place of Birth - country - Place of Birth - - 1 - - http://wso2.org/claims/country - - - http://eidas.europa.eu/attributes/naturalperson/CurrentAddress - Current Address - localityAddress - Current Address - - 1 - - http://wso2.org/claims/addresses - - - http://eidas.europa.eu/attributes/naturalperson/Gender - Gender - gender - Gender - - 1 - - http://wso2.org/claims/gender - - - - - http://eidas.europa.eu/attributes/legalperson/LegalPersonIdentifier - Legal Person Identifier - extendedExternalId - Legal Person Identifier - - 1 - - http://wso2.org/claims/extendedExternalId - - - http://eidas.europa.eu/attributes/legalperson/LegalName - Legal Person Name - extendedDisplayName - Legal Person Name - - 1 - - http://wso2.org/claims/extendedDisplayName - - - http://eidas.europa.eu/attributes/legalperson/LegalPersonAddress - Legal Person Address - localityAddress - Legal Person Address - - 1 - - http://wso2.org/claims/addresses - - - http://eidas.europa.eu/attributes/legalperson/VATRegistrationNumber - VAT Registration Number - im - VAT Registration Number - - 1 - - http://wso2.org/claims/im - - - http://eidas.europa.eu/attributes/legalperson/TaxReference - Tax Reference - postalcode - Tax Reference - - 1 - - http://wso2.org/claims/postalcode - - - http://eidas.europa.eu/attributes/legalperson/D-2012-17-EUIdentifier - EU Identifier - externalId - EU Identifier - - 1 - - http://wso2.org/claims/externalid - - - http://eidas.europa.eu/attributes/legalperson/LEI - LEI - extendedRef - LEI - - 1 - - http://wso2.org/claims/extendedRef - - - http://eidas.europa.eu/attributes/legalperson/EORI - Economic Operator Registration and Identification - departmentNumber - Economic Operator Registration and Identification - - 1 - - http://wso2.org/claims/department - - - http://eidas.europa.eu/attributes/legalperson/SEED - System for Exchange of Excise Data Identifier - nickName - System for Exchange of Excise Data Identifier - - 1 - - http://wso2.org/claims/nickname - - - http://eidas.europa.eu/attributes/legalperson/SIC - Standard Industrial Classification - nickName - Standard Industrial Classification - - 1 - - http://wso2.org/claims/nickname - - - - diff --git a/copper-server/kubernetes/is/is/config/embedded-ldap.xml b/copper-server/kubernetes/is/is/config/embedded-ldap.xml deleted file mode 100755 index 420933fa..00000000 --- a/copper-server/kubernetes/is/is/config/embedded-ldap.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - - false - ${Ports.EmbeddedLDAP.LDAPServerPort} - default - admin - . - identityPerson - false - true - false - 2000000 - localhost - ldap/localhost@EXAMPLE.COM - - - - - root - WSO2.ORG - secret - randall - - - - - admin - admin - admin - admin@wso2.com - admin - SHA - - - - - admin - cn - member - - - - - defaultKDC - false - UDP - localhost - ${Ports.EmbeddedLDAP.KDCServerPort} - 8640000 - 604800000 - true - - - diff --git a/copper-server/kubernetes/is/is/config/tenant-mgt.xml b/copper-server/kubernetes/is/is/config/tenant-mgt.xml deleted file mode 100755 index 9d16b72e..00000000 --- a/copper-server/kubernetes/is/is/config/tenant-mgt.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - org.wso2.carbon.user.core.config.multitenancy.SimpleRealmConfigBuilder - - - - - org.wso2.carbon.user.core.config.multitenancy.CommonLDAPRealmConfigBuilder - dc=copper,dc=opensource,dc=lk - organizationalUnit - ou - organizationalUnit - ou - - - diff --git a/copper-server/kubernetes/is/is/config/user-mgt.xml b/copper-server/kubernetes/is/is/config/user-mgt.xml deleted file mode 100755 index 6f62d694..00000000 --- a/copper-server/kubernetes/is/is/config/user-mgt.xml +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - true - admin - - admin - admin - - everyone - true - true - jdbc/WSO2CarbonDB - - - - - - - - - - - - - - org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager - ldap://openldap:389 - cn=admin,dc=copper,dc=opensource,dc=lk - admin - false - ou=Users,dc=copper,dc=opensource,dc=lk - identityPerson - uid - (&(objectClass=person)(uid=?)) - (objectClass=person) - - true - true - ou=Groups,dc=copper,dc=opensource,dc=lk - groupOfNames - cn - (&(objectClass=groupOfNames)(cn=?)) - (objectClass=groupOfNames) - member - false - [a-zA-Z0-9._\-|//]{3,30}$ - ^[\S]{3,30}$ - Username pattern policy violated - ^[\S]{5,30}$ - ^[\S]{5,30}$ - Password length should be within 5 to 30 characters - [a-zA-Z0-9._\-|//]{3,30}$ - ^[\S]{3,30}$ - true - false - true - PLAIN_TEXT - , - 100 - 100 - false - WSO2.ORG - true - false - 5000 - - - - - - /permission - true - false - - - - - diff --git a/copper-server/kubernetes/is/is/files/.gitkeep b/copper-server/kubernetes/is/is/files/.gitkeep deleted file mode 100755 index e69de29b..00000000 diff --git a/copper-server/kubernetes/is/is/files/client-truststore.jks b/copper-server/kubernetes/is/is/files/client-truststore.jks deleted file mode 100644 index cf46c27e..00000000 Binary files a/copper-server/kubernetes/is/is/files/client-truststore.jks and /dev/null differ diff --git a/copper-server/kubernetes/is/is/files/publickey.pem b/copper-server/kubernetes/is/is/files/publickey.pem deleted file mode 100644 index 9dc61b48..00000000 Binary files a/copper-server/kubernetes/is/is/files/publickey.pem and /dev/null differ diff --git a/copper-server/kubernetes/is/is/files/wso2carbon.jks b/copper-server/kubernetes/is/is/files/wso2carbon.jks deleted file mode 100644 index 3d1e7792..00000000 Binary files a/copper-server/kubernetes/is/is/files/wso2carbon.jks and /dev/null differ diff --git a/copper-server/kubernetes/is/is/files/wso2server.sh b/copper-server/kubernetes/is/is/files/wso2server.sh deleted file mode 100755 index 04cf72e1..00000000 --- a/copper-server/kubernetes/is/is/files/wso2server.sh +++ /dev/null @@ -1,319 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Copyright 2005-2012 WSO2, Inc. http://www.wso2.org -# -# Licensed 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. - -# ---------------------------------------------------------------------------- -# Main Script for the WSO2 Carbon Server -# -# Environment Variable Prequisites -# -# CARBON_HOME Home of WSO2 Carbon installation. If not set I will try -# to figure it out. -# -# JAVA_HOME Must point at your Java Development Kit installation. -# -# JAVA_OPTS (Optional) Java runtime options used when the commands -# is executed. -# -# NOTE: Borrowed generously from Apache Tomcat startup scripts. -# ----------------------------------------------------------------------------- - -# OS specific support. $var _must_ be set to either true or false. -#ulimit -n 100000 - -cygwin=false; -darwin=false; -os400=false; -mingw=false; -case "`uname`" in -CYGWIN*) cygwin=true;; -MINGW*) mingw=true;; -OS400*) os400=true;; -Darwin*) darwin=true - if [ -z "$JAVA_VERSION" ] ; then - JAVA_VERSION="CurrentJDK" - else - echo "Using Java version: $JAVA_VERSION" - fi - if [ -z "$JAVA_HOME" ] ; then - JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home - fi - ;; -esac - -# resolve links - $0 may be a softlink -PRG="$0" - -while [ -h "$PRG" ]; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '.*/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`/"$link" - fi -done - -# Get standard environment variables -PRGDIR=`dirname "$PRG"` - -# Only set CARBON_HOME if not already set -[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd` - -# Set AXIS2_HOME. Needed for One Click JAR Download -AXIS2_HOME="$CARBON_HOME" - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CARBON_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"` - [ -n "$AXIS2_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"` -fi - -# For OS400 -if $os400; then - # Set job priority to standard for interactive (interactive - 6) by using - # the interactive priority - 6, the helper threads that respond to requests - # will be running at the same priority as interactive jobs. - COMMAND='chgjob job('$JOBNAME') runpty(6)' - system $COMMAND - - # Enable multi threading - QIBM_MULTI_THREADED=Y - export QIBM_MULTI_THREADED -fi - -# For Migwn, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$CARBON_HOME" ] && - CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - [ -n "$AXIS2_HOME" ] && - CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`" - # TODO classpath? -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD=java - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." - echo " CARBON cannot execute $JAVACMD" - exit 1 -fi - -# if JAVA_HOME is not set we're not happy -if [ -z "$JAVA_HOME" ]; then - echo "You must set the JAVA_HOME variable before running CARBON." - exit 1 -fi - -if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then - PID=`cat "$CARBON_HOME"/wso2carbon.pid` -fi - -# ----- Process the input command ---------------------------------------------- -args="" -for c in $* -do - if [ "$c" = "--debug" ] || [ "$c" = "-debug" ] || [ "$c" = "debug" ]; then - CMD="--debug" - continue - elif [ "$CMD" = "--debug" ]; then - if [ -z "$PORT" ]; then - PORT=$c - fi - elif [ "$c" = "--stop" ] || [ "$c" = "-stop" ] || [ "$c" = "stop" ]; then - CMD="stop" - elif [ "$c" = "--start" ] || [ "$c" = "-start" ] || [ "$c" = "start" ]; then - CMD="start" - elif [ "$c" = "--version" ] || [ "$c" = "-version" ] || [ "$c" = "version" ]; then - CMD="version" - elif [ "$c" = "--restart" ] || [ "$c" = "-restart" ] || [ "$c" = "restart" ]; then - CMD="restart" - elif [ "$c" = "--test" ] || [ "$c" = "-test" ] || [ "$c" = "test" ]; then - CMD="test" - else - args="$args $c" - fi -done - -if [ "$CMD" = "--debug" ]; then - if [ "$PORT" = "" ]; then - echo " Please specify the debug port after the --debug option" - exit 1 - fi - if [ -n "$JAVA_OPTS" ]; then - echo "Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option." - fi - CMD="RUN" - JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$PORT" - echo "Please start the remote debugging client to continue..." -elif [ "$CMD" = "start" ]; then - if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then - if ps -p $PID > /dev/null ; then - echo "Process is already running" - exit 0 - fi - fi - export CARBON_HOME="$CARBON_HOME" -# using nohup sh to avoid erros in solaris OS.TODO - nohup sh "$CARBON_HOME"/bin/wso2server.sh $args > /dev/null 2>&1 & - exit 0 -elif [ "$CMD" = "stop" ]; then - export CARBON_HOME="$CARBON_HOME" - kill -term `cat "$CARBON_HOME"/wso2carbon.pid` - exit 0 -elif [ "$CMD" = "restart" ]; then - export CARBON_HOME="$CARBON_HOME" - kill -term `cat "$CARBON_HOME"/wso2carbon.pid` - process_status=0 - pid=`cat "$CARBON_HOME"/wso2carbon.pid` - while [ "$process_status" -eq "0" ] - do - sleep 1; - ps -p$pid 2>&1 > /dev/null - process_status=$? - done - -# using nohup sh to avoid erros in solaris OS.TODO - nohup sh "$CARBON_HOME"/bin/wso2server.sh $args > /dev/null 2>&1 & - exit 0 -elif [ "$CMD" = "test" ]; then - JAVACMD="exec "$JAVACMD"" -elif [ "$CMD" = "version" ]; then - cat "$CARBON_HOME"/bin/version.txt - cat "$CARBON_HOME"/bin/wso2carbon-version.txt - exit 0 -fi - -# ---------- Handle the SSL Issue with proper JDK version -------------------- -jdk_17=`$JAVA_HOME/bin/java -version 2>&1 | grep "1.[7|8]"` -if [ "$jdk_17" = "" ]; then - echo " Starting WSO2 Carbon (in unsupported JDK)" - echo " [ERROR] CARBON is supported only on JDK 1.7 and 1.8" -fi - -CARBON_XBOOTCLASSPATH="" -for f in "$CARBON_HOME"/lib/xboot/*.jar -do - if [ "$f" != "$CARBON_HOME/lib/xboot/*.jar" ];then - CARBON_XBOOTCLASSPATH="$CARBON_XBOOTCLASSPATH":$f - fi -done - -JAVA_ENDORSED_DIRS="$CARBON_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed" - -CARBON_CLASSPATH="" -if [ -e "$JAVA_HOME/lib/tools.jar" ]; then - CARBON_CLASSPATH="$JAVA_HOME/lib/tools.jar" -fi -for f in "$CARBON_HOME"/bin/*.jar -do - if [ "$f" != "$CARBON_HOME/bin/*.jar" ];then - CARBON_CLASSPATH="$CARBON_CLASSPATH":$f - fi -done -for t in "$CARBON_HOME"/lib/commons-lang*.jar -do - CARBON_CLASSPATH="$CARBON_CLASSPATH":$t -done -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` - CARBON_HOME=`cygpath --absolute --windows "$CARBON_HOME"` - AXIS2_HOME=`cygpath --absolute --windows "$CARBON_HOME"` - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"` - CARBON_CLASSPATH=`cygpath --path --windows "$CARBON_CLASSPATH"` - CARBON_XBOOTCLASSPATH=`cygpath --path --windows "$CARBON_XBOOTCLASSPATH"` -fi - -# ----- Execute The Requested Command ----------------------------------------- - -echo JAVA_HOME environment variable is set to $JAVA_HOME -echo CARBON_HOME environment variable is set to "$CARBON_HOME" - -cd "$CARBON_HOME" - -TMP_DIR="$CARBON_HOME"/tmp -if [ -d "$TMP_DIR" ]; then -rm -rf "$TMP_DIR"/* -fi - -START_EXIT_STATUS=121 -status=$START_EXIT_STATUS - -if [ -z "$JVM_MEM_OPTS" ]; then - java_version=$("$JAVACMD" -version 2>&1 | awk -F '"' '/version/ {print $2}') - JVM_MEM_OPTS="-Xms2048m -Xmx2048m" - if [ "$java_version" \< "1.8" ]; then - JVM_MEM_OPTS="$JVM_MEM_OPTS -XX:MaxPermSize=256m" - fi -fi -echo "Using Java memory options: $JVM_MEM_OPTS" - -#To monitor a Carbon server in remote JMX mode on linux host machines, set the below system property. -# -Djava.rmi.server.hostname="your.IP.goes.here" - -while [ "$status" = "$START_EXIT_STATUS" ] -do - $JAVACMD \ - -Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \ - $JVM_MEM_OPTS \ - -XX:+HeapDumpOnOutOfMemoryError \ - -XX:HeapDumpPath="$CARBON_HOME/repository/logs/heap-dump.hprof" \ - $JAVA_OPTS \ - -Dcom.sun.management.jmxremote \ - -classpath "$CARBON_CLASSPATH" \ - -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ - -Djava.io.tmpdir="$CARBON_HOME/tmp" \ - -Dcatalina.base="$CARBON_HOME/lib/tomcat" \ - -Dwso2.server.standalone=true \ - -Dcarbon.registry.root=/ \ - -Djava.command="$JAVACMD" \ - -Dcarbon.home="$CARBON_HOME" \ - -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ - -Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" \ - -Djava.util.logging.config.file="$CARBON_HOME/repository/conf/etc/logging-bridge.properties" \ - -Dcomponents.repo="$CARBON_HOME/repository/components/plugins" \ - -Dconf.location="$CARBON_HOME/repository/conf"\ - -Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" \ - -Dcom.atomikos.icatch.hide_init_file_path=true \ - -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false \ - -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true \ - -Dcom.sun.jndi.ldap.connect.pool.authentication=simple \ - -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 \ - -Dorg.terracotta.quartz.skipUpdateCheck=true \ - -Djava.security.egd=file:/dev/./urandom \ - -Dfile.encoding=UTF8 \ - -Djava.net.preferIPv4Stack=true \ - -Dcom.ibm.cacheLocalHost=true \ - -DworkerNode=false \ - -Dhttpclient.hostnameVerifier="DefaultAndLocalhost" \ - org.wso2.carbon.bootstrap.Bootstrap $* - status=$? -done diff --git a/copper-server/kubernetes/is/openldap/Dockerfile b/copper-server/kubernetes/is/openldap/Dockerfile deleted file mode 100755 index b4d9b522..00000000 --- a/copper-server/kubernetes/is/openldap/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -# OpenLDAP -# -# VERSION 1.0 - -# use openldap image -FROM osixia/openldap:1.2.2 - -COPY files/* /home/ - diff --git a/copper-server/kubernetes/is/openldap/files/97-wso2Person.ldif b/copper-server/kubernetes/is/openldap/files/97-wso2Person.ldif deleted file mode 100755 index c5f940f6..00000000 --- a/copper-server/kubernetes/is/openldap/files/97-wso2Person.ldif +++ /dev/null @@ -1,70 +0,0 @@ -dn: cn=wso2person,cn=schema,cn=config -objectClass: olcSchemaConfig -cn: wso2person -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.2 - NAME 'gender' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.3 - NAME 'country' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.4 - NAME 'nickName' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.5 - NAME 'timeZone' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.6 - NAME 'dateOfBirth' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.7 - NAME 'role' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.8 - NAME 'im' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.9 - NAME 'url' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.10 - NAME 'otherPhone' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.11 - NAME 'privatePersonalIdentifier' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.12 - NAME 'profileconfiguration' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.13 - NAME 'prefferedLanguage' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcObjectClasses: ( 1.3.6.1.4.1.37505.1.1 - NAME 'wso2Person' - DESC 'wso2Person' - SUP inetOrgPerson - STRUCTURAL - MAY ( gender $ country $ nickName $ timeZone $ dateOfBirth $ role $ im $ url $ otherPhone $ privatePersonalIdentifier $ profileconfiguration $ prefferedLanguage) - ) diff --git a/copper-server/kubernetes/is/openldap/files/98-scimPerson.ldif b/copper-server/kubernetes/is/openldap/files/98-scimPerson.ldif deleted file mode 100755 index e866eae3..00000000 --- a/copper-server/kubernetes/is/openldap/files/98-scimPerson.ldif +++ /dev/null @@ -1,140 +0,0 @@ -dn: cn=scimperson,cn=schema,cn=config -objectClass: olcSchemaConfig -cn: scimperson -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.20 - NAME 'scimId' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.21 - NAME 'externalId' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.22 - NAME 'createdDate' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.23 - NAME 'lastModifiedDate' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.24 - NAME 'location' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.25 - NAME 'formattedName' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.26 - NAME 'middleName' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.27 - NAME 'honoricPrefix' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.28 - NAME 'honoricSuffix' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.29 - NAME 'userType' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.30 - NAME 'local' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.31 - NAME 'active' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.32 - NAME 'workEmail' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.33 - NAME 'homeEmail' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.34 - NAME 'otherEmail' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.35 - NAME 'phoneNumbers' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.36 - NAME 'workPhone' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.37 - NAME 'imGtalk' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.38 - NAME 'imSkype' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.39 - NAME 'photos' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.40 - NAME 'photoUrl' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.41 - NAME 'thumbnail' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.42 - NAME 'addresses' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.43 - NAME 'formattedAddress' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.44 - NAME 'localityAddress' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.45 - NAME 'region' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcObjectClasses: ( 1.3.6.1.4.1.37505.1.100 - NAME 'scimPerson' - DESC 'scimPerson' - SUP wso2Person - STRUCTURAL - MAY ( scimId $ externalId $ createdDate $ lastModifiedDate $ location $ formattedName $ honoricPrefix $ honoricSuffix $ userType $ local $ active $ workEmail $ homeEmail $ otherEmail $ phoneNumbers $ workPhone $ imGtalk $ imSkype $ photos $ photoUrl $ thumbnail $ addresses $ formattedAddress $ localityAddress $ region ) - ) diff --git a/copper-server/kubernetes/is/openldap/files/99-identityPerson.ldif b/copper-server/kubernetes/is/openldap/files/99-identityPerson.ldif deleted file mode 100755 index c3623b98..00000000 --- a/copper-server/kubernetes/is/openldap/files/99-identityPerson.ldif +++ /dev/null @@ -1,85 +0,0 @@ -dn: cn=identityperson,cn=schema,cn=config -objectClass: olcSchemaConfig -cn: identityperson -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.46 - NAME 'primaryChallenges' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.47 - NAME 'challenges' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.48 - NAME 'firstChallenge' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.49 - NAME 'secondChallenge' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.50 - NAME 'oneTimePassword' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.51 - NAME 'accountLock' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.52 - NAME 'temporaryEmail' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.53 - NAME 'recoveryEmail' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.54 - NAME 'passwordChangeRequired' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.55 - NAME 'passwordTimestamp' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.56 - NAME 'temporaryLock' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.57 - NAME 'lastFailedAttemptTime' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.58 - NAME 'failedLoginAttempts' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.59 - NAME 'lastLogonTime' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcAttributeTypes: ( 1.3.6.1.4.1.37505.1.60 - NAME 'unlockTime' - EQUALITY caseIgnoreMatch - SUBSTR caseIgnoreSubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) -olcObjectClasses: ( 1.3.6.1.4.1.37505.1.101 - NAME 'identityPerson' - DESC 'identityPerson' - SUP scimPerson - STRUCTURAL - MAY ( primaryChallenges $ challenges $ firstChallenge $ secondChallenge $ oneTimePassword $ accountLock $ temporaryEmail $ recoveryEmail $ passwordChangeRequired $ passwordTimestamp $ temporaryLock $ lastFailedAttemptTime $ failedLoginAttempts $ lastLogonTime $ unlockTime ) - ) diff --git a/copper-server/kubernetes/is/openldap/files/changes.ldif b/copper-server/kubernetes/is/openldap/files/changes.ldif deleted file mode 100755 index e598c48d..00000000 --- a/copper-server/kubernetes/is/openldap/files/changes.ldif +++ /dev/null @@ -1,6 +0,0 @@ -dn: olcDatabase={1}mdb, cn=config -changetype: modify -replace: olcAccess -olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none -olcAccess: {1}to attrs=shadowLastChange by self write by * read -olcAccess: {2}to * by self read \ No newline at end of file diff --git a/copper-server/kubernetes/is/openldap/files/copper-users.ldif b/copper-server/kubernetes/is/openldap/files/copper-users.ldif deleted file mode 100755 index 9a2bda2f..00000000 --- a/copper-server/kubernetes/is/openldap/files/copper-users.ldif +++ /dev/null @@ -1,117 +0,0 @@ -# LDIF Export for dc=copper,dc=opensource,dc=lk -# Server: openldap (openldap) -# Search Scope: sub -# Search Filter: (objectClass=*) -# Total Entries: 15 -# -# Generated by phpLDAPadmin (http://phpldapadmin.sourceforge.net) on July 12, 2018 9:02 am -# Version: 1.2.3 - -version: 1 - -# Entry 1: ou=domains,dc=copper,dc=opensource,dc=lk -dn: ou=Domains,dc=copper,dc=opensource,dc=lk -objectclass: organizationalUnit -objectclass: top -ou: Domains - -# Entry 2: dc=copper.opensource.lk,ou=domains,dc=copper,dc=opensource,dc... -dn: dc=copper.opensource.lk,ou=domains,dc=copper,dc=opensource,dc=lk -associateddomain: copper.opensource.lk -dc: copper.opensource.lk -objectclass: dNSDomain -objectclass: domainRelatedObject -objectclass: top - -# Entry 3: ou=groups,dc=copper,dc=opensource,dc=lk -dn: ou=Groups,dc=copper,dc=opensource,dc=lk -objectclass: organizationalUnit -objectclass: top -ou: Groups - -# Entry 4: cn=admin,ou=groups,dc=copper,dc=opensource,dc=lk -dn: cn=admins,ou=Groups,dc=copper,dc=opensource,dc=lk -cn: admins -gidnumber: 500 -objectclass: posixGroup -objectclass: top - -# Entry 5: ou=users,dc=copper,dc=opensource,dc=lk -dn: ou=Users,dc=copper,dc=opensource,dc=lk -objectclass: organizationalUnit -objectclass: top -ou: Users - -# Entry 6: cn=lsf,ou=users,dc=copper,dc=opensource,dc=lk -dn: cn=lsf,ou=Users,dc=copper,dc=opensource,dc=lk -cn: lsf -gidnumber: 501 -givenname: lsf -homedirectory: /home/users/lsf -loginshell: /bin/sh -mail: lsf@copper.opensource.lk -objectclass: inetOrgPerson -objectclass: posixAccount -objectclass: top -sn: lsf -uid: lsf -uidnumber: 1001 -userpassword: {SSHA}79+ggcj1RrXEitcvjVBDgqF6NdJf09Y3 -#userpassword in plain: copper@lsf - -# Entry 7: cn=test,ou=users,dc=copper,dc=opensource,dc=lk -dn: cn=test,ou=Users,dc=copper,dc=opensource,dc=lk -cn: test -gidnumber: 501 -givenname: test -homedirectory: /home/users/test -loginshell: /bin/sh -mail: test@copper.opensource.lk -objectclass: inetOrgPerson -objectclass: posixAccount -objectclass: top -sn: test -uid: test -uidnumber: 1002 -userpassword: {SSHA}79+ggcj1RrXEitcvjVBDgqF6NdJf09Y3 -#userpassword in plain: copper@lsf - -dn: cn=admin_horde,ou=Users,dc=copper,dc=opensource,dc=lk -cn: admin_horde -gidnumber: 500 -givenname: admin_horde -homedirectory: /home/users/admin_horde -loginshell: /bin/sh -mail: admin_horde@copper.opensource.lk -objectclass: inetOrgPerson -objectclass: posixAccount -objectclass: top -sn: admin_horde -uid: admin_horde -uidnumber: 1003 -userpassword: {MD5}ISMvKXpXpadDiUoOSoAfww== -#userpassword in plain: admin - -# Entry 8: cn=s_admin,ou=users,dc=copper,dc=opensource,dc=lk -dn: cn=s_admin,ou=Users,dc=copper,dc=opensource,dc=lk -cn: s_admin -gidnumber: 500 -givenname: s_admin -homedirectory: /home/users/s_admin -loginshell: /bin/sh -mail: s_admin@copper.opensource.lk -objectclass: inetOrgPerson -objectclass: posixAccount -objectclass: top -sn: s_admin -uid: s_admin -uidnumber: 900 -userpassword: {SSHA}79+ggcj1RrXEitcvjVBDgqF6NdJf09Y3 -#userpassword in plain: coppermail@lsf - -# Entry 4.1: cn=users,ou=groups,dc=copper,dc=opensource,dc=lk -dn: cn=users,ou=Groups,dc=copper,dc=opensource,dc=lk -cn: users -gidnumber: 501 -objectclass: posixGroup -objectclass: top \ No newline at end of file diff --git a/copper-server/kubernetes/is/reset.sh b/copper-server/kubernetes/is/reset.sh deleted file mode 100755 index 575a9f1c..00000000 --- a/copper-server/kubernetes/is/reset.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# remove containers - -docker stop $(docker ps -a -q) -docker rm $(docker ps -a -q) - - -# remove images - -docker rmi copper-is -docker rmi copper-openldap \ No newline at end of file diff --git a/copper-server/kubernetes/is/start.sh b/copper-server/kubernetes/is/start.sh deleted file mode 100755 index cbda9d5c..00000000 --- a/copper-server/kubernetes/is/start.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -docker-compose up --build -d - -# STATUS="0" - -# until [[ ${STATUS} == *"ok"* ]]; do -# echo " wating until slpd is started" -# STATUS=`docker exec -ti copper-openldap sh -c "service slapd status"` -# sleep 5 -# done - -# echo " slapd has started!" - -sleep 20 - -docker exec -it copper-openldap /usr/bin/ldapadd -Y EXTERNAL -H ldapi:// -f /home/97-wso2Person.ldif -docker exec -it copper-openldap /usr/bin/ldapadd -Y EXTERNAL -H ldapi:// -f /home/98-scimPerson.ldif -docker exec -it copper-openldap /usr/bin/ldapadd -Y EXTERNAL -H ldapi:// -f /home/99-identityPerson.ldif - -# docker exec -it copper-openldap /usr/bin/ldapmodify -Y EXTERNAL -H ldapi:// -f /changes.ldif - -docker exec -it copper-openldap /usr/bin/ldapadd -x -D 'cn=admin,dc=copper,dc=opensource,dc=lk' -w admin -H ldapi:// -f /home/copper-users.ldif \ No newline at end of file diff --git a/copper-server/kubernetes/nginx/frontend.conf b/copper-server/kubernetes/nginx/frontend.conf deleted file mode 100755 index 8086ee8c..00000000 --- a/copper-server/kubernetes/nginx/frontend.conf +++ /dev/null @@ -1,27 +0,0 @@ -upstream hello { - server hello.default.svc.cluster.local; -} - -upstream auth { - server auth.default.svc.cluster.local; -} - -server { - listen 443; - ssl on; - - ssl_certificate /etc/tls/cert.pem; - ssl_certificate_key /etc/tls/key.pem; - - location / { - proxy_pass http://hello; - } - - location /login { - proxy_pass http://auth; - } - - location /rainloop { - proxy_pass http://localhost:80; - } -} diff --git a/copper-server/kubernetes/nginx/proxy.conf b/copper-server/kubernetes/nginx/proxy.conf deleted file mode 100755 index 89b3769b..00000000 --- a/copper-server/kubernetes/nginx/proxy.conf +++ /dev/null @@ -1,11 +0,0 @@ -server { - listen 443; - ssl on; - - ssl_certificate /etc/tls/cert.pem; - ssl_certificate_key /etc/tls/key.pem; - - location / { - proxy_pass http://127.0.0.1:80; - } -} diff --git a/copper-server/kubernetes/openldap/openldap.yaml b/copper-server/kubernetes/openldap/openldap.yaml index 6c87a78d..aa65e449 100644 --- a/copper-server/kubernetes/openldap/openldap.yaml +++ b/copper-server/kubernetes/openldap/openldap.yaml @@ -10,7 +10,7 @@ items: name: ldap-service spec: type: LoadBalancer - loadBalancerIP: 10.10.10.10 + #loadBalancerIP: 10.10.10.10 #loadBalancerIP: "YOUR.IP.ADDRESS.HERE" #type: ExternalName #externalName: copper.ldap.org diff --git a/copper-server/kubernetes/persistent/mysql-deployment.yaml b/copper-server/kubernetes/persistent/mysql-deployment.yaml index 51845777..d4f9c5e5 100644 --- a/copper-server/kubernetes/persistent/mysql-deployment.yaml +++ b/copper-server/kubernetes/persistent/mysql-deployment.yaml @@ -1,7 +1,15 @@ apiVersion: v1 kind: Service metadata: + namespace: monitoring name: mysql +#spec: +# type: LoadBalancer +# ports: +# - protocol: TCP +# port: 3306 +# targetPort: 3306 +# name: mysql spec: ports: - port: 3306 @@ -12,6 +20,7 @@ spec: apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 kind: Deployment metadata: + namespace: monitoring name: mysql spec: selector: @@ -33,10 +42,18 @@ spec: value: password ports: - containerPort: 3306 + #- containerPort: 36 name: mysql volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql + resources: + limits: + cpu: "1" + #memory: 3Gi + requests: + cpu: 200m + #memory: 2Gi volumes: - name: mysql-persistent-storage persistentVolumeClaim: diff --git a/copper-server/kubernetes/persistent/mysql-pv.yaml b/copper-server/kubernetes/persistent/mysql-pv.yaml index f6cb45ad..561e78c3 100644 --- a/copper-server/kubernetes/persistent/mysql-pv.yaml +++ b/copper-server/kubernetes/persistent/mysql-pv.yaml @@ -1,13 +1,15 @@ kind: PersistentVolume apiVersion: v1 metadata: + namespace: monitoring name: mysql-pv-volume labels: type: local spec: storageClassName: manual capacity: - storage: 20Gi + #storage: 2Gi + storage: 1Gi accessModes: - ReadWriteOnce hostPath: @@ -17,10 +19,12 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pv-claim + namespace: monitoring spec: - storageClassName: manual + #93 : bellow line was commented due to error : pod has unbound PersistentVolumeClaims + #storageClassName: manual accessModes: - ReadWriteOnce resources: requests: - storage: 5Gi \ No newline at end of file + storage: 1Gi \ No newline at end of file diff --git a/copper-server/kubernetes/services/auth.yaml b/copper-server/kubernetes/services/auth.yaml deleted file mode 100755 index 92a517b2..00000000 --- a/copper-server/kubernetes/services/auth.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: "auth" -spec: - selector: - app: "auth" - ports: - - protocol: "TCP" - port: 80 - targetPort: 80 diff --git a/copper-server/kubernetes/services/frontend.yaml b/copper-server/kubernetes/services/frontend.yaml deleted file mode 100755 index e781ac28..00000000 --- a/copper-server/kubernetes/services/frontend.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: "frontend" -spec: - selector: - app: "frontend" - ports: - - protocol: "TCP" - port: 443 - targetPort: 443 - type: LoadBalancer diff --git a/copper-server/kubernetes/services/hello.yaml b/copper-server/kubernetes/services/hello.yaml deleted file mode 100755 index f8751d06..00000000 --- a/copper-server/kubernetes/services/hello.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: "hello" -spec: - selector: - app: "hello" - ports: - - protocol: "TCP" - port: 80 - targetPort: 80 diff --git a/copper-server/kubernetes/services/monolith.yaml b/copper-server/kubernetes/services/monolith.yaml deleted file mode 100755 index cc51815c..00000000 --- a/copper-server/kubernetes/services/monolith.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: "monolith" -spec: - selector: - app: "monolith" - secure: "enabled" - ports: - - protocol: "TCP" - port: 443 - targetPort: 443 - nodePort: 31000 - type: NodePort diff --git a/copper-server/kubernetes/services/rainloop-servie.yaml b/copper-server/kubernetes/services/rainloop-servie.yaml deleted file mode 100755 index 870c6ccd..00000000 --- a/copper-server/kubernetes/services/rainloop-servie.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: "rainloop" -spec: - selector: - app: "rainloop" - ports: - - protocol: "TCP" - port: 80 - targetPort: 80 - #nodePort: 88 diff --git a/copper-server/kubernetes/services/rainloop.yaml b/copper-server/kubernetes/services/rainloop.yaml deleted file mode 100755 index 2b538947..00000000 --- a/copper-server/kubernetes/services/rainloop.yaml +++ /dev/null @@ -1,13 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: "rainloop" -spec: - selector: - app: "rainloop" - ports: - - protocol: "TCP" - port: 80 - targetPort: 80 - clusterIP: None - #nodePort: 88